XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Siberia
Problem 1. GUI
签到,矩形位置关系判定,独立考虑两维即可。
Problem 2. Searching on the Cube
- 一直往前走会形成一个环,注意到环上必存在一个点,前进后退都不会使得距离变小,找到它。
- Turn Left!再来一次。
- 这时,可能有宝藏的点,会被限制到两个,再往前走一走,观察距离的变化,就可以锁定宝藏所在位置了。
Problem 3. Mirrors
Problem 4. Roads to cinematography
\(f[l][r]\) 表示,使得 \([l,r]\) 的人合并在一起的最小代价,枚举分界点,区间 DP 即可。
Problem 5. Geometric solver
- 给每条线段建一个点。
- 再建两个点,一个表示水平的线段,一个表示竖直的线段,这两个点连边。
- 给出的每条线索都可以建一条边,不合法的情况直接叉掉,合法保留生成树即可。
Problem 6. Monsters
Problem 7. Regular expressions
Problem 8. WSO-2017 soccer team
- 显然应该贪心选区\(a\)和\(b\)最大值,减去最少消耗即可
- 对\(a \geq b\)和\(a < b\)分开考虑
- 区间按\(a-b\)或\(b-a\)排序,后\(k/3\)零消耗,中间\(k/3\)半消耗,前\(k/3\)全消耗(\(k\)为区间长度)
- 当然不能直接排序,用主席树维护一下即可
Problem 9. Primitive divisors
- \(q^n \% p=1\)
- 有 \(p = kn + 1\),枚举 \(k\),check n
- check p,枚举 \(n\) 因子 \(d\)(\(d<n\)),必须有 \(q^d \% p\neq1\)。
Problem 10. Tickets
签到。
Problem 11. Logarithm smoothing
二分套二分
Problem 12. Outer space signals
签到,kmp。