CF1451D Circle Game

由于有对称性,所以前一个人无论从对称轴出发怎么走,当前的人都可以用一步操作回到对称轴上,所以最优策略就是在对称轴上走,至于胜负就是看最后一个对称轴上的点能否继续走

AT_agc010_c [AGC010C] Cleaning

经过一个节点的路径分为两种,祖先到儿子,儿子到儿子,我们令 \(f_u\) 为 \(u\) 节点祖先往下连的路径数,\(y\) 为儿子间的路径数,\(sum\) 为所有儿子的 \(f\) 之和,那么有 \(​ \begin{aligned} f_u+y &= a_u\\ f_u+2y &= \mathrm{sum} \end{aligned} \Rightarrow \begin{aligned} f_u &= 2a_u-\mathrm{sum}\\ y &= \mathrm{sum}-a_u \end{aligned}\),这样就解出了 \(f_u\),如果 \(f_{root}\ne0\) 就是错的,但同时也要判断如果 \(f_u>a_u\)(祖先与儿子),\(min(sum/2,max_{v\in son(u)} f_v)\ >y\)(儿子之间)是不可行的

AT_agc010_b [AGC010B] Boxes

首先可以求出总次数 \(s={2sum\over {n(n+1)}}\)

减 \(1\backsim\) 显然是不好刻画的,我们考虑查分,一次操作就相当与给 \(n-1\) 个差减一,再给另一个加四,提出来,放在 \(s\) 次中就是每个差值减 \(s\),然后任意选 \(s\) 个数加五

CF1392F Omkar and Landslide

结论

最后构成的序列一定最多只有一处登高,其余皆为差一

感性理解

两处滑坡成相同的要求是 \(h_i+2=h_{i+1}\),我们考虑现在有两组 \(h_i+2=h_{i+1},h_j+2=h_{j+1}(i+1\le j)\),其余单增,那么此时 \(j\) 处的滑坡就会一直下穿,这样两个就会变成一个,总体来看就最多只有一处等高

CF1495B Let's Go Hiking

结论

青山只有在顶点上,左右两条路相等都为最大值且为奇数才能赢

证明

  1. 如果不为最大值,那么Daniel完全可以最长的路
  2. 如果不为偶数,那么青山就会被Daniel堵住
  3. 如果不相等,即使两条都为奇数,Daniel也可以选择较长路的第二个点出发来改变奇偶性

CF1392E Omkar and Duck

提供一种构造方法:当 \(x\) 为奇数时,\(f_{i,j}=0\),反之 \(f_{i,j}=2^{i+j-3}\),例如 \(n=4\) 时:\(\begin{bmatrix} 0 & 0 & 0 & 0 \\ 1 & 2 & 4 & 8 \\ 0 & 0 & 0 & 0 \\ 4 & 8 & 16 & 32 \end{bmatrix}\),这样的好处是二进制下同一行的10都是连续的,就可以分出每一行

CF1450C2 Errich-Tac-Toe (Hard Version)

首先看到 \(⌊{k\over 3}⌋\) 就可以想到模3分层,然后因为要求的是横竖不能有连续,我们就考虑斜着变,只需要三个一组令一行全为1,一行全为0,另一行不变就可以了,可以证明所以方案中一定有小于 \(⌊{k\over 3}⌋\),因为所以方案的平均数是 \({2k\over6}={k\over3}\) 的,而至少有一个数小于等于平均值

AT_agc002_e [AGC002E] Candy Piles

我们先将 \(a_i\) 从大到小排序,尝试刻画操作:从 \((0,0)\) 出发,吃掉一堆糖果就相当于左移一格,所有吃掉一个相当于上移一格,剩余部分就和前面的CF1451D类似了

​