2016-2017 ACM-ICPC, Asia Tsukuba Regional Contest

https://codeforces.com/gym/101158
D题:双哈希:哈希函数一致,模数一个 1e9+7,一个998244353即可。

I题:作三角形或四边形,满足以下条件:
① 在 x = 0, x = 1e9, y = 0, y = 1e9 这四条直线上都存在着端点
② 端点都是整点
③ 面积不超过 25000

在分析的过程中,会遇到这样一个问题:求 \(x, y\),最小化 \(|ax - by|\)。
第一个问题,这个值是多少,这个值显然就是 \((a, b)\),可以通过扩展欧几里得算法求得。
第二个问题,怎么求一组 \((x, y)\)。
\(ax - by = d\)
\(ax - by = 1\)
在辗转相除的过程中,假设 \(ax' - by' = 1\),已知 \(bx - (a \% b) y' = 1\),通过待定系数法可解得 \(x' = -y, y' = 忘记了\)。
第三个问题,当 \((a, b)\) 很大时,计算过程可能会爆界,怎么办?由于通解是 \(x = x_0 + bt, y = y_0 + at\),我们通过对 \(x'\) 取模限定 \(1 \le x_0 < b\),然后再计算 \(y'\) 即可,此时也显然能推出 \(0 \le y' < a\)。
显然,第三个问题当中,我们得到一个更优的技巧,能很轻松地限定 \(x\) 在 \([1, b]\),\(y\) 在 \([0, a - 1]\) 内。

K题,不好现场推,模板里记个结论:

\[s(X) = \left\{~ \max_{y \in Y_{Alice}} s(y) ~ | ~ \min_{y \in Y_{Bob}} s(y) \right\} \]

\(s(X) > 0\):Alice必胜;\(s(X) = 0\):公平;\(s(X) < 0\):Bob必胜。
\(s(X + Y) = s(X) + s(Y)\)
Surreal Number的计算方法:...
对于取石子问题,自底向上,先取连续1,再取1/2,再取1/4,...

上一篇:2 3 5 7作为因子构成的数字序列——笔试题


下一篇:D. Cut(倍增) from Codeforces Round #717 (Div. 2)