T1 黑白染色
赛时没想到做法,看了解题报告后恍然大悟,我还是需要多多做题,培养分析问题、得出结论的能力。
根据题目易得到,当连接两个同色点的边的数量最少时,该染色方案一定满足题目条件。
该结论可以用反证法证明:
当一个点有两个同色邻居时,我们一定可以将这个点染色来减少连接同色点的边的数量。
所以我们只需找到边数最少的染色方案即可。
考虑“调整法”,用队列储存可以修改染色的点,每次修改颜色时检查周围节点是否可以入队。由于边数不超过 \(\frac2 3 n\)
所以总时间复杂度为\(\Omicron(n+m)=\Omicron(n)\)。
T2 置换群初步
赛时打了一个广搜的暴力,因为评测机有点bug导致judge failed。
观察可以发现