原创 SGU 183 Painting the balls (DP優化)

183. Painting the balls time limit per test: 0.25 sec.  memory limit per test: 4096 KB input: standard input  out

原创 POJ 1185 炮兵陣地 (狀態壓縮DP)

炮兵陣地 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19226   Accepted: 7424 Description 司令部的將軍們打算在N*

原创 Poj 3744 Scout YYF I (概率DP 矩陣優化)

Scout YYF I Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4857   Accepted: 1290 Description YYF is

原创 二分圖匹配模版及題型總結

今天主要學習了二分圖的概念和各種二分圖的題型及解決辦法。二分圖,即所有點可以被分爲兩個集合,這兩個集合中兩個點互不相鄰。即可以分成左邊和右邊兩堆不相鄰的點的圖。。首先先是學習了二分圖的概念以及如何判斷一個圖是否是二分圖。方法很簡單,就是判

原创 最小生成樹的兩種算法及模版整理

圖倫的算法是我覺得最高大上的,因爲每個算法都有一個很叼的名字! 哈哈,陸續整理一些自己的模版,方便自己以後使用吧。 首先是Prim算法的普通版本 複雜度O(V^2) #include <iostream> #include <cstd

原创 最短路模版整理

接着前一篇,整理完最小生成樹的模版,接下來整理一下最短路的模版。 所有題目都是根據HDU 1874 寫的。 圖論中求最短路的算法比較多,有Dijkstra、Bellman-ford、Floyd-Warshall、以及SPFA。主要用到的

原创 Uva 1428 Ping pong (樹狀數組,Fenwick樹)

N(3N20000) ping pong players live along a west-east street(consider the street as a line segment). Each player has a

原创 CodeForces 292E Copying Data (線段樹)

拿到題的時候感覺可以用樹狀數組做,因爲查詢是單點的,然後可以對區間進行修改。然後後來發現如果對一個點修改兩次樹狀數組沒法實現(也許是我太渣),因爲是直接覆蓋而不是疊加的。所以最後還是用線段樹寫的。。好久才寫完。。線段樹用的實在是太差了。。

原创 HOJ 1551 Polylops(簡單數學題)

Polylops My Tags   (Edit)   Source : Waterloo ACM Programming Contest Oct 4, 1998   Time limit : 1 sec   M

原创 HDU 2222 Keywords Search (AC自動機模版題)

第一次聽說AC自動機的時候的確嚇尿了。以爲是能直接AC題目的程序(那豈不是開掛。。) 後來學了KMP,才知道原來是字符串處理的一種算法(據說孫老師教的是自動機理論 不知道是不是就是字符串匹配) 這題就是一道裸題,AC自動機跟KMP的差別就

原创 POJ 2533 Longest Ordered Subsequence (最長上升子序列 DP優化)

Longest Ordered Subsequence Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 33367   Accepted: 14592 D

原创 平面計算幾何模版集合

這幾天學計算幾何,感覺自己很適合做這種類型的題目。。畢竟數學還算學的不錯。。尤其是幾何。。 模版是照着白書上敲的,會用就好,原理也都很簡單,能寫成函數並且運用就是好的。 模版如下,方便以後自己用 #include <iostream>

原创 Uva 11235 Frequent values (RMQ問題 STable算法的應用)

今天整理一下這幾天學習的數據結構,藉助訓練指導的例題整理一下模版。。 題意:給出一個非降序排列的整數數組,對於任意詢問i,j,回答ai到aj中出現次數最多的值的次數 由於是非降序排序的,所以可以用一個val[]和cnt[]記錄每個值出現的

原创 HDU 4969 Just a Joke (數學題)

Just a Joke Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s):

原创 Uva 1400 "Ray, Pass me the dishes!" (線段樹 區間合併)

這道題是訓練指南上的一道例題,今天照着書上的標程敲了一遍,學了一下他的線段樹寫法。由於求的是一個區間,所以用pair來做結點,非常方便。在求區間和的時候先預處理一個前綴和,這樣就可以用O(1)的複雜度求任意區間的和。這道題的難點在於區間合