Retrospect only, some algorithms may be wrong...
Warning : 劇透慎入...
Andrew Stankevich's Contest #1
Chinese Girls' Amusement
推結(jié)論直接算
Reactor Cooling
有上下界的環(huán)形流
New Year Bonus Grant
經(jīng)典的樹形DP
Matrix Multiplication
化簡一下推結(jié)論
Nice Patterns Strike Back (Recommend)
狀態(tài)壓縮DP后用matrix來優(yōu)化,或者用上次monthly時LK的方法。
Get Out! (Recommend)
可以用那個生成環(huán)的基的DFS,類似japan那道題。
Beautiful People
最長蝦米序列,8過稍微有個細(xì)節(jié)要想
Cracking' RSA (Recommend)
求bool方程組的解數(shù)。。。也就是求下自由變量個數(shù)
Andrew Stankevich's Contest #2
Non Absorbing DFA
記得是個很正常的DP。
The Towers of Hanoi Revisited
經(jīng)典的n個塔的hanoi,記得要DP...
Hyperhuffman
就是huffman問題吧,已經(jīng)排好序,可以O(shè)(n)的。
Little Jumper (Recommend)
不錯的物理題
首先可以想象成兩只青蛙一起從兩邊跳。
主要問題就是計算給定一個v后的青蛙可達(dá)區(qū)間。
取到最值只有3種情況:從上面擦過,從下面擦過,45度起跳(如果可以)
Quantization Problem
又是一個正常的DP...
Roads
經(jīng)典問題了。
生成樹上的權(quán)值必定是減少,其他邊上的權(quán)值必定增大,設(shè)其分別為ai, bj
然后對任意一條不在生成樹上的邊,加入到生成樹上形成一個環(huán),然后這條邊的權(quán)值應(yīng)當(dāng)>=環(huán)上所有邊的權(quán)值。
然后我們可以列出一堆形如ai + bj >= 一個正數(shù)的不等式。。。然后。。。km算法的標(biāo)頂~~~
詳情可以看km算法的證明~~~
Robbers
首先令k[i] = m * x[i] / y,取下整,然后可能k[i]的和不到m,要增加一些k[i],當(dāng)然是,每次找增大后delta最小的~~~
主要是,似乎可以用heap優(yōu)化為O(nlogn)。。。
Toral Tickets (Recommended)
比較神奇的Polya
Andrew Stankevich's Contest #3
Areas (Recommended)
我的做法是基于半平面交的,對每條直線,枚舉使用它左邊的半平面還是右邊的半平面,最后如果是一個有限平面則返回。。。
注意搜索過程中當(dāng)半平面被切空后就可以return,由于最后只有O(n^2)塊,所以復(fù)雜度是O(n^4)的(使用O(n^2)的半平面交)
SGU上時限很寬,ZJU上這么做時間有點(diǎn)緊(我0.95s AC的-_-bbbbbbb)
Beloved Sons
按偏愛程度從大到小找增廣路跑max_match就可以了。。。
Strange Counter
構(gòu)造
維護(hù)這么一個性質(zhì)兩個2之間至少有一個0。。。然后。。。討論。。。
Data Transmission (In List)
據(jù)說是預(yù)流 + 使勁優(yōu)化...(by Lunarmony)
Strong Defence
嗯,首先顏色數(shù)不會超過任何一條路的長度是把。。。所以顏色數(shù)至多就是最短路的長度。
然后我們跑dijstra的時候把邊著上顏色就是了。。。
Weird Dissimilarity
經(jīng)典的DP
PL/Cool
據(jù)說是模擬(from oibh)。。。
Royal Federation (In List)
據(jù)說是構(gòu)造, not AC yet.
Two Cylinders
寫出積分式后romberg.
Andrew Stankevich's Contest #4
The Smart Bomb
簡單的推一下。
I Just Called ...
模擬,要用Trie樹。
Order-Preserving Codes
模仿huffman那樣,只是每次merge相鄰的。
More Divisors
經(jīng)典的DP, f[i][j]用前i個素數(shù)得到j(luò)個約數(shù)的最小數(shù)。。。
Long Dominoes
狀態(tài)壓縮DP
The Magic Wheel
應(yīng)該選擇第一個點(diǎn),然后尋找下一層的兩個方向最近的都試一下就行了。O(N)
Cracking SSH
DP...
Periodic Tilings
好像某年final有類似的題。應(yīng)該有結(jié)論的說。
Not AC yet
Trade (In List)
Not AC yet, 可以看看
Counting Triangulations (Recommended)
一道還算不錯的DP題,8過題目描述好像有點(diǎn)不清我記得。
Unfair Contest
搜索+模擬
Andrew Stankevich's Contest #5
Unique Attack (Recommended)
判斷最小割是否唯一的題,就是用兩種方法構(gòu)造是否一樣。
Burning Bridges
ms是很經(jīng)典的用橋來作的題
Circles
經(jīng)典的平面圖歐拉公式題
Linear Programming Dual
好象是線性規(guī)劃,Not AC yet
DVD (In List)
相當(dāng)容易寫錯的DP題。
Think Positive
記得可以O(shè)(n)掃描的。
Ranking
麻煩的模擬題。
Driving Straight
也是很經(jīng)典的思路了,先DP(或曰BFS)。然后走一遍,在滿足有解的前提下盡量往那個方向走。
Andrew Stankevich's Contest #6
Ackerman's Function (Recommended)
可以認(rèn)為是找規(guī)律
The Minimal Angle
記得要O(n),取平均數(shù)還是什么都可以。
Yellow Code
我記得還是比較容易YY一個構(gòu)造的。。。
Yet Another Digit
DP吧。
Graduated Lexicographical Ordering (In List)
類似于vietnam的那道題。。。相當(dāng)麻煩。。。建議實(shí)現(xiàn)下。。。
GSM
高精度開方題。或者打表~
Warehouse Keeper (In List)
KM,8過我記得容易T?
Don't Go Left
記得又是一個狀態(tài)機(jī)的BFS題
Railroad Sort
很有意思的構(gòu)造,大體思路是每經(jīng)過一個station,留住后一半,放行前一半。。。n個正好給2^n個數(shù)排序。
Andrew Stankevich's Contest #7
Little Brackets
經(jīng)典的dp, NOI隕石的秘密簡化版。。。
f[n][k] = n對括號,<=k層
f[n][k] = sigma(f[m][k] * f[n - m - 1][k - 1]),輸出f[n][k] - f[n][k - 1]
就是每次添加一整個括號塊。
Under Control (In List)
轉(zhuǎn)換坐標(biāo)離散化吧
類似思路有道超級復(fù)雜版
Soldier
Holidays (In List)
Not AC Yet
Laboratory
記得列出式子調(diào)整下就行了。時限嚇人的~
Maps
Crazy Painter
Puzzle
沒記錯的話BFS一下吧。。。
Quest
經(jīng)典的狀態(tài)壓縮BFS,輸方案有點(diǎn)麻煩。。。
Stable Sets