B.Tree Burning
最后一定存在一个分界点,满足在分界点两边的点反复横跳(点多的一边会先走几步),记录所有点顺时针/逆时针到原点的前缀和,枚举分界点取 max \max max即可。
*C.Coloring Torus
K ≤ 500 K\leq 500 K≤500直接构造 K × K K\times K K×K的矩阵,第 i i i行填 i i i。
K > 500 K>500 K>500,发现构造奇数行 c i , j = ( i + j ( m o d n ) ) + 1 c_{i,j}=(i+j\pmod n)+1 ci,j=(i+j(modn))+1,偶数行 c i , j = ( i + j ( m o d ) ) + n + 1 c_{i,j}=(i+j\pmod)+n+1 ci,j=(i+j(mod))+n+1一定合法(若 c i , j > K c_{i,j}>K ci,j>K,直接 − n -n −n)。所以 n = 2 ⌈ K 4 ⌉ n=2\lceil\frac{K}{4}\rceil n=2⌈<