原创 4610 Cards

模擬題,關鍵是細節 #include<stdio.h> #include<string.h> #include<algorithm> #define LL long long using namespace std; const int

原创 1104 Remainder(數論+bfs)

做完這道題,對取餘的理解又進一步深刻了。 這道題直接bfs就行,關鍵是取餘操作。 #include<stdio.h> #include<string.h> #include<math.h> #include<algorithm>

原创 hdu 4640 Island and study-sister(狀態壓縮dp)

先處理前兩個學長到達各個點所需要的最少時間,在計算前兩個學長和最後一個學長救出所有學妹的最少時間。 #include<stdio.h> #include<string.h> #include<vector> #include<algori

原创 3364 Lanterns (異或方程組高斯消元)

基本思路。首先構造一個n*(m+1)的矩陣,同時標記一個行數row,row從零開始,然後找出每一列第一個非零的數,和第row行互換, 然後對row到n行,異或運算。最終的結果爲2^(m-row) #include<stdio.h> #in

原创 HDU 2089 不要62

數位dp題,不過暴力打表也是可以過得。 可以參考這個博客,裏面已經夠詳細了http://blog.csdn.net/acm_ted/article/details/7895948 #include<stdio.h> #include<st

原创 ural 1057(數位dp)

數位dp題,關鍵是用樹的思維去考慮。 對於一個數字X,要是能表示成K個B的不同次冪,等價於X在B進制下有且只有K個位上面的數字爲一,其他位上的數字都爲0。 具體讀者可以去參考,國家集訓隊李聰的論文,裏面的介紹都很詳細。 #include<

原创 poj 3415 Common Substrings

這題差錯查死我了。。。最後竟然是中間過程爆int了,好囧。。 思路:把a串和b串接起來,中間加個‘$’,求後綴。             線性的遍歷h[i]數組,然後每段公共前綴大於K的區間裏的a串和b串的數量相乘即可。 #includ

原创 poj 3294 Life Forms(後綴數組)

題意:給你最多100個字符串,求最長的且是一半以上的字符串的公共子串,如果有多個,按字典序輸出。 思路:先把各個串拼起來,中間加上一個之前未出現過的字符,然後求後綴。然後根據h數組和sa數組,求出最長的公共串。 #include<stdi

原创 4605 Magic Ball Game

先離線記錄所有詢問,然後用dfs在線記錄當前節點的所有父親結點,父親結點分爲兩類,一個從左邊過來,一個從右邊過來,分別開一個數組。 數據需要離散化,剛開始用lower_bound寫,一直wa。。,用二分就過了。 之後總結了下lower_b

原创 hdu 4620 Fruit Ninja Extreme

基本搜索題,代碼調了好久。。。 以後繼續加強代碼能力 #include<stdio.h> #include<string.h> #include<algorithm> using std ::sort; struct node {

原创 HDU 3555 Bomb

最近在練數位dp,這題還是wang了一發,這題是基本題,沒什麼好說的,附上代碼。 #include<stdio.h> #include<string.h> #define LL unsigned long long LL dp[3][30

原创 int ,long , long long類型的範圍

轉載自:http://www.cnblogs.com/kuangbin/archive/2011/07/23/2115001.html int ,long , long long類型的範圍 unsigned   int   0~42

原创 整數拆分hdu 4651 && hdu 4658

轉載自:http://blog.csdn.net/zhoufenqin/article/details/9821617 分拆數 在將分拆數之前先介紹一點五邊形數 http://en.wikipedia.org/wiki/Pen

原创 hdu 1873 看病要排隊(優先隊列)

紀念下第一次優先隊列題~ #include<stdio.h> #include<string.h> #include<string> #include<iostream> #include<queue> using namespace

原创 codeforces 325B Stadium and Games

這道題思路很簡單,設剛開始隊伍數爲d=2^p*x,其中x是奇數,則比賽場次n=(2^p-1)*x+(x-1)*x/2,然後從0開始枚舉p的值,接着解一元二次方程x^2+(2^(p+1)-3)x-2*n=0, 易知此方程在0到10^9直接有