原创 hdu 3341 AC自動機+五維dp

Lost's revenge #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <vector> #include <

原创 1003_Gold_miner

題目: hdu_4341_Gold_miner 官方題解: 顯然,必須先拿走前面的金子才能拿後邊的,所以排序處理共線情況。然後進行揹包即可 個人理解: 有兩種方法處理共線情況。但都以將點按斜率排序爲前提。 方法一:將統一斜率的N個點看

原创 1004_History_repeat_itself

題目: hdu_4342_History_repeat_itself 官方題解: 1)To solve the N-th non-square number: There is a number K:  K^2<N+K<(K+1)^2

原创 1011_Xiao_Ming's_Hope

題目: hdu_4349_Xiao_Ming's_Hope   官方題解: 本題爲Lucas定理推導題,我們分析一下 C(n,m)%2,那麼由lucas定理,我們可以寫成二進制的形式觀察,比如 n=1001101,m是從00000

原创 hdu 2296 AC自動機+dp+路徑記錄

Ring #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <vector> #include <queue> usi

原创 1001_Capturing_a_country

題目: hdu_4340_Capturing_a_country 官方題解: 樹dp。 顯然題中給圖的是一顆樹。問題可以抽象成對樹的每個點都染色,有兩中顏色可以選擇。 我們可以知道,如果某一個連通的點集染的是同一種顏色,則這個集合中只要

原创 hdu_1100_Trees_Made_to_Order

Trees Made to Order Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submissi

原创 poj 2778 AC自動機+矩陣快速冪

題目:DNA Sequence 這題做了一晚上,即使大體的思路明白了,但還是糾纏與各種細節的實現 #include <iostream> #include <cstdio> #include <cstring> #include <ve

原创 大數模板——來自jxy師兄

#include <iostream> #include <cstring> #include <cstdio> #define MAX 1300 #define base 10000 #define baselen 4 using na

原创 線段樹——區間合併

題目:Hotel 題意:區間初始全0。兩種操作:將區間某一段置0;查詢超過指定長度的區間的最左端點(多個區間則取最左) 第一次做錯,錯在查詢時,只是查詢整個區間的最長連續子區間,可題目要求的只是超過一定長度的子區間,而不一定是最長的,所以

原创 劃分樹——求區間第k大值

題目:K-th Number 雖說是第一次就AC,但到網上去搜羅更優代碼時,卻幸運的發現,我的AC代碼是錯誤的,只不過數據太水。我考慮掉一種情況,當有多個數和中位數相同時,如果從左到右一次將小於等於中位數的數劃入左子樹,可能導致區間右端的

原创 矩形面積和矩形周長並的模板——來自notonlysuccess

矩形面積並 hdu1542 Atlantis 題意:矩形面積並思路:浮點數先要離散化;然後把矩形分成兩條邊,上邊和下邊,對橫軸建樹,然後從下到上掃描上去,用cnt表示該區間下邊比上邊多幾個,sum代表該區間內被覆蓋的線段的長度總和這裏線

原创 後綴數組(模板)——來自MovingforACM

轉載自:http://blog.sina.com.cn/s/blog_9ddf28c5010119e1.html 後綴數組(模板)     今天學習了後綴數組,感覺只有排序部分比較糾結,整個算法還是比較好懂的,把排序跳過來理解這個算法,其

原创 hdu 2243 AC自動機+矩陣快速冪

考研路茫茫——單詞情結 題意:這題和poj2778沒有本質區別,都是通過AC自動機得到遞推矩陣,然後矩陣快速冪。遞推的狀態都是長度和單詞結尾在trie樹上的位置(最長公共字串,trie上是前綴,在遞推的單詞上則是後綴)。但這題會多些

原创 1007_Permutation

題目: hdu_4345_Permutation   官方題解:     循環節的長度爲各獨立置換環長度的最小公倍數。問題即求相加和爲N的正整數的最小公倍數的可能數。由於1不影響最小公倍數,問題轉化爲相加小於等於N的若干正整數的最小公倍數