八月解題手記(二)
都隔了一個月了~~
八月基本上是比賽的——單獨做的題較少……套題另外整理。
Augest_18
POJ1324 Hol_dox_Moving
經典搜索題
難點在於狀態的Hash,其實算算大小正好夠了,所以就簡單BFS了。
不過A*快很多(用一次BFS求一個點到目標點的最短路徑來設計啓發式函數)~~
Augest_19
POJ3514 The Writers' Club
簡單BFS
預處理麻煩點
Augest_20
POJ3510 A Tale from the Dark Side of the Moon
傳說中的閱讀理解題
細節啊細節
快WA死人了
Augest_20
POJ3509 Rotating Rings
簡單模擬題
Augest_21
POJ3562 “Roman” corridor
Trie的應用(搜索)
對roman數字建立Trie樹! 這個想法太強大了
然後就搜索,用Trie來判斷路徑合法性
Augest_21
POJ2594 Treasure Exploration
傳遞閉包+最小路徑覆蓋
重要的是要聯想到是這個東西
Augest_21
POJ3448 Roman Expressions
羅馬數字
無聊題,我在寫了一個Roman——number的“標程”後交着玩
Augest 24
POJ2086 Land Division Tax
DP+
經典
O(n^3)的DP
做了一上午,一直TLE,後來用C++交才發現任何一個程序都可以1500+msAC!!!!
代碼待考證
Augest_24
POJ1419 Graph Coloring
回溯
最大團/最小覆蓋點集
可以相互轉化的兩個模型
得到一個結論:用最小覆蓋點集方法來對最大團的補圖求解的算法快很多
這個題數據很水,我寫了個非常暴力的題目都過了
Augest_28
POJ2647 Doublets
BFS+Trie(在Trie上DFS)
經典
再次見識到好的數據結構(Trie)的強大,這個題我做過一次,原來在WOJ上AC,在POJ得到MLE!!
在Trie上做DFS,這種方法不是第一次見了。。。
Augest_29
POJ2049 Finding Nemo
BFS經典題
對平面進行劃分
隊伍練習賽題目,結果我用了不熟悉的priority_queue,寫反了比較函數,查錯用了好久!!!
Augest_29
POJ2056 The Separator in Grid
雙向DP
或者BFS/DFS
隨便怎麼亂搞都可以過——時間複雜度基本不成問題
Augest_30
POJ3375 Network Connection
經典DP優化
N<=2000, M<=100000,O(m*m)的算法容易想到,要優化到O(n*m),
我猜了好久亂搞了個先找到一個最接近的位置,然後向前向後各枚舉n+2步DP(ms後面試了下n也可以),
終於過了,這個題想了好久!!
Augest_30
POJ3351 Gerrymandering
NB的DP
太猛的算法了
在shiming413的blog上看到的算法,將O(N^3)的算法優化到O(n^2)!!!
O(n^3)的算法太容易想到,但是優化起來還是不簡單的!
思路來自:http://www.cppblog.com/shiming413/archive/2007/08/22/30577.html
Augest 31
POJ3683 Priest John's Busiest Day
2-SAT
少有的要求出分組的2-SAT
算法見趙爽和伍昱的論文
POJ月賽題,看到後非常爽(終於有一道2-SAT分組的題可以驗證標程了)
當時我們羣P,只有我和sherlock做過2-SAT,想到算法後sherlock(他手速快,這個再正確不過,我晚上寫了好一段時間才過,建圖啊建圖)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.