原创 POJ 1208

水模擬,順便學習了下deque 教訓是,一個很簡單的題都花了很久才A。非常需要耐心,磨性子,讀題理解。編碼過程也因爲模擬過程的煩躁,導致代碼一直疏漏很多關鍵細節。 If you really want. 寫代碼,是一件很需要靜下來和自己好好

原创 POJ 1189

教訓很多也收穫不少的一道題 首先是DP狀態的定義,開始一直不知道怎麼下手寫,後來覺得這個定義比較合適\(dp(i, j)\)定義爲當前假設第i行全是沒拔掉釘子,落在第i行第j個釘子上的釘子的數量(概率分數處理會很麻煩) 然後是數學上的兩個問

原创 POJ 1178

這道題做的讓自己很慚愧 一開始想不出來思路,後來只好放棄看題解卻發現如此簡單。就是把問題拆解爲三個部分,king讓誰接,在哪裏接,重點設置在哪,枚舉即可 預處理就是floyd算出所有節點之間距離 可是預處理的時候犯了一個很嚴重的錯誤,因爲把

原创 POJ 2778

一道非常非常優秀的題目,學到了很多 首先是進一步加深對於AC自動機理解,這種將自動機看作圖的思路實在是太驚豔了。理解0,理解1 此外學習了快速冪的方法,效率顯著提升。快速冪 最後,關於高維數組和指針之間的關係,以及typedef具體用法進一

原创 POJ 1143

最開始DP思路大方向是對的,但是一直苦於狀態不知道怎麼表示。 略覽下題解思路,狀態壓縮,用是經常用,之前也聯繫過,實戰上還是顯出生疏了,對這麼常用的技巧竟然一時沒想起來 真正寫代碼的時候也磕磕絆絆debug了很久,一邊怕數組越界,一邊擔心數

原创 POJ 1164

這道題的題目敘述着實唬人,感覺太多無關信息了 不過說來慚愧,偷了個小懶去看了下別人怎麼翻譯的,這部分小痛苦直接跳過了 簡單DFS應用 #include <iostream> #include <algorithm> #include <qu

原创 HDU 2553

八皇后問題的變體,N皇后問題,dfs+回溯即可 真正實現的時候還是遇到了點問題,遞歸式邊界返回條件,一定要等到row已經到N之外才可以,因爲這才意味着第N行的點也通過了考驗,搜索到第N行並不意味着結束,還有相當關鍵的臨門一腳(感覺對這個問題

原创 POJ 3083

一道非常有意思的題 小時候看書看到過這種迷宮走法 整道題可以分爲兩個部分討論: BFS部分,很簡單,而且由於圖的設置,使得這道題沒什麼難度 模擬這種迷宮走法的部分,開始很不好想關於這種轉向的走法,後面取巧這麼設置(以左牆尋路爲例): 首先

原创 POJ 1980

開始規劃思路,一開始想錯了,直接想着用BFS解決,對於這兩者的理解也因爲這更深刻了些。 BFS尋求源點到目的地的最短距離,而DFS才適合於這種樹全搜索情況(當然更符合DFS的應用應該是算法導論上的拓撲排序以及相關連通分量) 這道題思路很簡單

原创 POJ 1324

貪喫蛇問題,因爲圖的複雜性,爲了空間效率,這時候就要考慮利用狀態壓縮來處理。 算法倒是沒有多複雜,但是非常考驗碼力,耐心,中間很多細節小錯誤(循環,判斷順序) 開始狀態壓縮想的麻煩了,經過思考,將狀態壓縮集中到貪喫蛇形狀,以及利用貪喫蛇的連

原创 POJ 1233

有些代碼往往需要編碼者一定能坐的了板凳,這道題在大佬眼裏可能不算啥,但是自己這方面能力真的有待提升,壓得住性子寫下去 題目本身思路很簡單,只不過寫起來變量名繁多,中間多次錯誤,數據也看不出來,最後還是藉助對拍別人的AC代碼纔敢確定。 這是一

原创 POJ 2312

坦克大戰,童年回憶 這道題比較特殊的在於磚牆的出力,很明白的就可以想到距離變爲2,然而這樣在使用BFS尋求最短路徑的時候違背了一個原則,算法導論上有這部分詳細介紹,就是關於每時每刻隊列內是一個單調不減的數列,此外,頭和尾插值最大爲1,一次推

原创 POJ 2349

再次因爲浮點數g++, c++編譯器的問題WA,中間還因爲reset沒有改過來編譯器無腦再WA了一次 這道題很適合Kruskal這種將最開始的聯通森林,一點點聚合到一起成爲一棵聯通的最小生成樹的想法,只不過,具體到這道題,是要將原先的p個森

原创 刷題腳本記錄

關於刷OJ時經常很多人出現輸出格式錯誤的問題,最好的解決方案是把測評過程自動化解決,不僅提高效率節省人力,機器嚴謹的檢驗也比人肉眼看不出疏漏靠譜,特此記錄一下構建的自動評測腳本。當前先記錄windows下的腳本 @echo off if e

原创 POJ 1287

Kruskal模板題,需要注意,這道題空間限制很嚴格,第一遍下意識的開了一個記錄數組(因爲一對節點之間允許多條路經,這裏想着進行優化,不過弄巧成拙了,遇到了第一個MLE) #include <iostream> #include <algo