要证明的命题是:
对于所有至少有 3 种不同颜色的序列 a,其最大操作数为 n。
看了一圈题解,要么没证要么是在扯淡,但我并不感觉这很显然(也可能是 skill issue),总之这里写一个看起来对的。
下文中下标运算默认在 mod n 意义下进行。
要使得最大操作数为 n,那么我们删除 i 时就必须保证 ai−1=ai+1。下文中的 “删除” 默认满足这一条件。
考虑一个至少有 3 种不同颜色的序列 a,显然,其中所有颜色要么只出现 1 次,要么至少出现 2 次。
如果存在某个颜色只出现 1 次,那么我们总是能够删除与其相邻的元素,此时结论成立。
否则,当所有颜色都出现了至少 2 次时,一定存在某个位置 i 使得 ai−1=ai+1。证明可以考虑反证,如果对于所有 i 都有 ai−1=ai+1,那么显然要么所有 ai 相同,要么所有奇数位和所有偶数位上的 ai 分别相同(这取决于 n 的奇偶性),这和“至少有 3 种不同颜色”矛盾。
于是此时我们可以将 i 删除。由于我们每次只会删除 1 个元素,因此若干次删除之后一定会有某个颜色只剩下 1 个元素,这就转化为了第一种情况,于是结论成立。
综上,结论成立。