原创 POJ 1833 求下第K個字典序

排列 Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 16483   Accepted: 6607 Description 題目描述:  大家知道,給出正整

原创 POJ 3255 Roadblocks 次短路 SPFA

題目大意:求出DAG中次短路的長。 題目分析:兩遍SPFA     其中Dist1[i]表示1節點到i節點的最短路             Dist2[j]表示節點j到節點N的最短路     設w爲i->j的權值,ans1爲最短路徑 然

原创 Codeforces #261 div2 A 題

代碼題: 沒注意x1,y1 是不能直接聲明的CE了幾次 代碼如下: #include<cstdio> #include<cstring> #include<iostream> #include<cmath> using namespace

原创 HDU 1258 Sum it up 搜索DFS

題目大意:給定N個數,要求輸出相加爲M的數字表達式,要求不重不漏。 題目分析:由於題目中給定的是不降序列,所以我們只需要用一個last指針來判斷就可以做到不重. 如下代碼: #include<cstdio> #include<cstrin

原创 POJ 1118 Lining up 共線最大值

題目大意:給定N個座標,求共線的座標數目最大值 題目分析:直接利用共線,求解 代碼如下: #include<cstdio> #include<iostream> #include<algorithm> #include<cstring>

原创 HDU 1285 確定比賽名次 Topsort

題目大意:稱職的裁判員忘記了比賽的名次,但還記得誰戰勝了誰,給定M組條件,例如A->B 表示A戰勝了B,保證信息之間不相互排斥,求輸出比賽的名次。 題目分析:是明顯的拓撲排序: 在此再介紹一下topsort,核心思想是通過給定的有向無環圖

原创 HDU 1176 Pie

題目大意:在一個0-10的點陣上,初始位置爲5,每秒可以移動1步,給定n條信息,是在第t秒Pie掉落的位置s,求能撿到的最大餡餅數。 題目分析:此題的處理關鍵在於對時間的操作,我們可以把它轉化成一個矩陣,pie[i][j]代表在第i秒時j

原创 POJ 1218 關燈問題

題目大意:給定N盞燈,每次將編號爲i的倍數的燈反轉,i={1,2,3~~n},求最後還有多少盞燈開着。 題目分析:練代碼題,直接上代碼 如下代碼: #include<cstdio> #include<iostream> #include<

原创 POJ3268 Sliver Cow Party SPFA

題目大意:給定一個圖與目的地X求出到從某點到X+X到某點的最大值。 題目分析:N<=1000可以用鄰接矩陣,有向圖進行兩遍SPFA。 其中Dist1表示從X點到其它點的距離,而其他點到X的距離可以反向求出,(將map[i][j]的i,j對

原创 POJ 1862 Stripies priority_queue 單調隊列

題目大意:給出N個數m1,m2,m3...任意兩個相撞會形成一個新的m,m=2*sqrt(mi*mj),求剩下的最小的m 題目分析:我們可以聯想到貪心,每次都令兩個最大的數進行碰撞,則這樣進行的話,最後的數字最小(Ps:myk大神曾經說過

原创 HDU 1003 MAX SUM 最大連續子段和DP

題目大意:給定一段長度爲N的序列(N<=100000),求其中的連續最大子段和。 題目分析:利用動態規劃求解:      dp[i]=a[i],(dp[i-1]<0)     dp[i]=dp[i-1]+a[i](dp[i-1]>=0)

原创 HDU 1494 跑跑卡丁車

題目大意:有一個N圈的跑道,跑道里有L段路,每次跑過一段路加速器增加20%的能量,當有我們有一個加速卡時,可以使用加速,我們最多可以積攢兩個加速卡,問跑完N圈的最小時間是多少。 題目分析:首先我們可以把它按照DP求解:dp[i][j]表示

原创 HDU 2159 DP

因爲題目是中文題,那麼在此就不再描述。大意是一個人需要N的經驗升級,身上的初始忍耐度爲M,怪有K種,其中給出殺每種怪給的經驗和消耗的忍耐度,已知最多殺怪S只,文能否升級,如果能的話,最大剩餘忍耐度是多少。 題目分析:我們可以把這個問題轉化

原创 POJ 1050 最大矩陣子段和

題目大意:求出給定矩陣中最大的數字和。 http://blog.csdn.net/piaoyi0208/article/details/7728972 寫的很好,帶有分析,不懂我代碼的可以看一下。 如下代碼: #include<cstdi

原创 HDU 1856 More is Better 並查集

題目大意:有10000000個人,給定N滿足關係,滿足兩個人之間相互認識。想讓最多的人呆在房間裏,已知任意兩個人直接或者間接認識纔可以在一個房間裏,問最大值。 題目分析:是一個顯然的並查集加路徑壓縮,不過在壓縮的時候我們要記錄一個num[