原创 string常用操作(更新)

string的倒置 (1) #include <string> str.assign(str.rbegin(),str.rend()); (2) #include <algorithm> reverse(str.begin(),str.

原创 hdu 4628 Pieces (狀態壓縮dp)

題意:給你一個字符串,每次可以一次性刪去一個間斷的迴文串,問最少需要多少次能把字符串刪完。 思路:狀態壓縮dp #include<iostream> #include<cstring> #include<string> using nam

原创 hdu 4604 Deque (二分法求最長單調子序列)

題意:給你一個n個數字的序列(數字可重複)和一個雙端隊列。按照順序取出序列中的一個數,你可以進行以下操作:要麼拋棄這個數,要麼選擇雙端隊列的頭或尾把這個數壓進隊列。要求保證隊列中的數是單調不下降的。求這個單調隊列最大長度。 思路:考慮題目

原创 hdu 4600 Harvest Moon (模擬+貪心)

模擬題。 給你w*h的格子。 a種作物種子,每種種子可以播種至3*3的格子中,可以越界,越界收益無效。 若某格子中仍有作物在生長,那麼對它播種無效。 q_i表示購買第i種作物種子的價格。 p_i表示第i種作物成熟之後,賣出每個格子的作物的

原创 hdu 4619 Warm up 2 (二分圖最大獨立集)

題意:給你一個網格,裏面擺放着1*2的牌,牌有橫放和豎放之分,位置用(x,y)標記,橫放時牌佔據(x,y)和(x+1,y)的位置,豎放時牌佔據(x,y)和(x,y+1)的位置,橫放的牌和豎放的牌可能重疊,同一方向擺放的牌不能重疊。現在你可

原创 hdu 4350 Card

題意:對於52張給出順序的撲克牌,做n次操作,每次將L~R的牌抽出來放到最前面。詢問最後的撲克牌順序。 思路:方法很多,這裏用判斷循環節的方法。容易看出,對於任意一張牌,在52次操作中,必定會出現位置的重複。這就是循環節。對於r之後的牌,

原创 hdu 4635 Strongly connected (tarjan強連通分量)

題意:給你一個有向圖,問在保證這個圖無重邊,無自環,且不是強連通圖的情況下,最多可以添加多少條有向邊 思路:分析可知,最終得到的圖分爲A,B兩個部分,兩部分各自爲完全圖,A中每個點都向B中每個點引一條有向邊,B中每個點必定不存在通往A的有

原创 hdu 4602 Partition (遞推+二分快速冪)

找規律,可得到 n          1          2          3          4          5     ....... k =1     1          2          5         

原创 hdu 4638 Group (樹狀數組+離線)

題意:給你一串數,然後對於每次詢問l和r,問你在[l,r]中有多少段連續的數 思路:樹狀數組,離線。每向後添加一個i位置的數a[i],先直接在這個位置+1,表示出現一個新組,然後看前面是否出現a[i]-1和a[i]+1,若出現a[i]-1

原创 poj3461 kmp 模板題

KMP模板題 輸入字符串A和字符串B,求字符串A在字符串B中出現的次數 #include<iostream> #include<cstring> #include<string> using namespace std; const i

原创 poj2406 kmp 最小重複子串

這個題就是利用kmp的next函數,求組成主串的最小重複子串的長度。 如果字符串下標從1開始的話,字符串長度len (1)若len mod ( len - next[len] ) = 0 那麼a[next[len]+1...len] 就是

原创 poj2185 kmp經典好題!

題意:先對於一個n*m的字符矩陣S,求一個S中最小的矩陣t,使得這個矩陣可以通過複製,組成一個大矩陣T,T可以完全覆蓋S。注意,這裏S和T不必要相等,只要T中和S重合的那部分完全等於S即可。 思路:網上通行的題解方案其實是不可取的,能AC

原创 kmp算法詳解 by huangchao

http://chaoswork.com/blog/2011/06/14/kmp%E7%AE%97%E6%B3%95%E5%B0%8F%E7%BB%93/ 寫得非常詳細,和matrix67的一起看效果非常好   主要看了這裏,感覺講的十

原创 kmp算法模板

#include<iostream> #include<cstring> #include<string> using namespace std; const int maxn=10011; int tot; int ans[101

原创 kmp算法詳解 by matrix67

如果機房馬上要關門了,或者你急着要和MM約會,請直接跳到第六個自然段。 我們這裏說的KMP不是拿來放電影的(雖然我很喜歡這個軟件),而是一種算法。K