A. Colorful Intervals

\(\max_i (r_i - l_i + 1)\) 是一个显然的下界,且该下界是可达到的

B. Circular RPS

如果存在某种手势(石头/剪刀/布)的人数为 \(0\),情况会很简单。否则,石头想要赢 \(x\) (\(x > 0\)) 个人,就必须让 \(x+1\) 个人出剪刀,且这些出剪刀的人本身不能成为赢家。这可以转化为:“最开始先‘消耗’ \(1\) 个剪刀,之后每凑出一个 (石头, 剪刀) 对,就能使分数 \(+1\)”。最后,针对石头、剪刀、布是否在最开始各自先消耗 \(1\) 个人进行分类讨论。

C. 2 Directions vs 4 Directions

因为在 Bob 的回合中,棋子的相邻格子必须全部为白色,所以可以视作在 Alice 操作后,相邻的格子全都变成了白色。

每一行至少有一个格子是 Alice 操作后最终会到达的格子,而该格子的左右邻居都会变成白色。问题转化为:决定每一行最终让棋子到达哪个格子,从而最小化所有这些左右格子(权值)的总和。

D. Shift and Add

数字和的性质满足:数字和 = 各个位数的总和 - (进位次数 \(\times 9\))。

确定前 \(9\) 个数之后,再假设下一位的进位情况,就可以确定第一个数值个位数的进位次数。因此,可以携带“前 \(9\) 个数的决定值”以及“假设的进位状态”进行 \(\text{DP}\)

E. XOR Matching

针对频率 \(\ge 1, \ge 2, \dots, \ge 20\) 的情况,分别使用 \(\text{FWHT}\) 进行处理。对于频率大于 \(20\) 的数值,其种类数一定在 \(\frac{N}{20}\) 以下,因此可以直接使用平方复杂度(\(O(N^2)\))的方法进行枚举搜索。

F. Triple Transformation

如果在三角形上绘制点 \((x, y, z)\),该操作相当于:先以 \((x, 0, 0)\) 为中心放大 \(2\) 倍,然后通过对 \((x+y+z)\) 取模将其映射回原本的三角形中。这可以归结为求解同余方程组,并最终转化为中国剩余定理+ 离散对数问题来解决。