[Retrospect] Andrew Stankevich's Contest

[Retrospect] Andrew Stankevich's Contest
Retrospect only, some algorithms may be wrong...
Warning : 剧透慎入...

Andrew Stankevich's Contest #1
Chinese Girls' Amusement
推结论直接算
Reactor Cooling
有上下界的环形流
New Year Bonus Grant
经典的树形DP
Matrix Multiplication
化简一下推结论
Nice Patterns Strike Back  (Recommend)
状态压缩DP后用matrix来优化,或者用上次monthly时LK的方法。
Get Out! (Recommend)
可以用那个生成环的基的DFS,类似japan那道题。
Beautiful People
最长虾米序列,8过稍微有个细节要想
Cracking' RSA (Recommend)
求bool方程组的解数。。。也就是求下自由变量个数


Andrew Stankevich's Contest #2
Non Absorbing DFA
记得是个很正常的DP。
The Towers of Hanoi Revisited
经典的n个塔的hanoi,记得要DP...
Hyperhuffman
就是huffman问题吧,已经排好序,可以O(n)的。
Little Jumper (Recommend)
不错的物理题
首先可以想象成两只青蛙一起从两边跳。
主要问题就是计算给定一个v后的青蛙可达区间。
取到最值只有3种情况:从上面擦过,从下面擦过,45度起跳(如果可以)
Quantization Problem
又是一个正常的DP...
Roads
经典问题了。
生成树上的权值必定是减少,其他边上的权值必定增大,设其分别为ai, bj
然后对任意一条不在生成树上的边,加入到生成树上形成一个环,然后这条边的权值应当>=环上所有边的权值。
然后我们可以列出一堆形如ai + bj >= 一个正数的不等式。。。然后。。。km算法的标顶~~~
详情可以看km算法的证明~~~
Robbers
首先令k[i] = m * x[i] / y,取下整,然后可能k[i]的和不到m,要增加一些k[i],当然是,每次找增大后delta最小的~~~
主要是,似乎可以用heap优化为O(nlogn)。。。
Toral Tickets (Recommended)
比较神奇的Polya

Andrew Stankevich's Contest #3
Areas (Recommended)
我的做法是基于半平面交的,对每条直线,枚举使用它左边的半平面还是右边的半平面,最后如果是一个有限平面则返回。。。
注意搜索过程中当半平面被切空后就可以return,由于最后只有O(n^2)块,所以复杂度是O(n^4)的(使用O(n^2)的半平面交)
SGU上时限很宽,ZJU上这么做时间有点紧(我0.95s AC的-_-bbbbbbb)
Beloved Sons
按偏爱程度从大到小找增广路跑max_match就可以了。。。
Strange Counter
构造
维护这么一个性质两个2之间至少有一个0。。。然后。。。讨论。。。
Data Transmission (In List)
据说是预流 + 使劲优化...(by Lunarmony)
Strong Defence
嗯,首先颜色数不会超过任何一条路的长度是把。。。所以颜色数至多就是最短路的长度。
然后我们跑dijstra的时候把边着上颜色就是了。。。
Weird Dissimilarity
经典的DP
PL/Cool
据说是模拟(from oibh)。。。
Royal Federation (In List)
据说是构造, 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
经典的DP, f[i][j]用前i个素数得到j个约数的最小数。。。
Long Dominoes
状态压缩DP
The Magic Wheel
应该选择第一个点,然后寻找下一层的两个方向最近的都试一下就行了。O(N)
Cracking SSH
DP...
Periodic Tilings
好像某年final有类似的题。应该有结论的说。
Not AC yet
Trade (In List)
Not AC yet, 可以看看
Counting Triangulations (Recommended)
一道还算不错的DP题,8过题目描述好像有点不清我记得。
Unfair Contest
搜索+模拟


Andrew Stankevich's Contest #5
Unique Attack (Recommended)
判断最小割是否唯一的题,就是用两种方法构造是否一样。
Burning Bridges
ms是很经典的用桥来作的题
Circles
经典的平面图欧拉公式题
Linear Programming Dual
好象是线性规划,Not AC yet
DVD (In List)
相当容易写错的DP题。
Think Positive
记得可以O(n)扫描的。
Ranking
麻烦的模拟题。
Driving Straight
也是很经典的思路了,先DP(或曰BFS)。然后走一遍,在满足有解的前提下尽量往那个方向走。

Andrew Stankevich's Contest #6
Ackerman's Function (Recommended)
可以认为是找规律
The Minimal Angle
记得要O(n),取平均数还是什么都可以。
Yellow Code
我记得还是比较容易YY一个构造的。。。
Yet Another Digit
DP吧。
Graduated Lexicographical Ordering (In List)
类似于vietnam的那道题。。。相当麻烦。。。建议实现下。。。
GSM
高精度开方题。或者打表~
Warehouse Keeper (In List)
KM,8过我记得容易T?
Don't Go Left
记得又是一个状态机的BFS题
Railroad Sort
很有意思的构造,大体思路是每经过一个station,留住后一半,放行前一半。。。n个正好给2^n个数排序。

Andrew Stankevich's Contest #7
Little Brackets
经典的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)
转换坐标离散化吧
类似思路有道超级复杂版 Soldier
Holidays (In List)
Not AC Yet
Laboratory
记得列出式子调整下就行了。时限吓人的~
Maps
Crazy Painter
Puzzle
没记错的话BFS一下吧。。。
Quest
经典的状态压缩BFS,输方案有点麻烦。。。
Stable Sets




你可能感兴趣的:([Retrospect] Andrew Stankevich's Contest)