Codeforces Round #551 (Div. 2)
A. Serval and Bus
算出t之后每班车的最早时间,取最小值
B. Serval and Toy Bricks
每个有方块的位置尽可能取高,即min(a[j], b[i])
C. Serval and Parenthesis Sequence
统计一下要放多少的(和),显然前面尽量放(是最优的,然后check判断
D. Serval and Rooted Tree
考虑最下面两层,如果答案再这棵子树中,那么:
- 如果是min操作,$ ans = k - leaves + 1 $
- 如果是max操作,$ ans = leaves = k - 1 + 1 $
我们定义f[i]为i子树中的有效叶子,那么ans = k - f[1] + 1,且:
- 如果是min操作,$ f[u] = sum(f[v]) $
- 如果是max操作,$ f[u] = min(f[v]) $
E. Serval and Snake
不难发现如果一个矩阵中有一端,那么交点为奇数, 然后乱搞就好了
枚举找到头和尾的行或者列,然后二分就好了。
然而可怜的cycleke常用二分方法超限了,不得不临时想(猜)其他方法