解题思路
我们希望通过至多一次删除一个连续子段,使剩余序列所有元素互不相同(“多彩”)。
等价变形:删除子段 [l,r−1] 后,剩下的是前缀 a[0..l−1] 与后缀 a[r..n−1]。要想整体无重复,必须同时满足:
- 前缀内部无重复;
- 后缀内部无重复;
- 前缀元素集合与后缀元素集合不相交。
P3763.第2题-多彩的数列
题目内容
小明喜欢多彩的数列。在他眼中,一个数列是多彩的,当且仅当数列中的元素互不相同。
具体的,数列 b1,b2,…,bn 。被认为是多彩的,当且仅当对于任意两个不同的下标 ij(1≤i,j≤n,i=j) ,都有 bi=bj 。
这天,小明拿到了一个长为 n 的数列 {a} 。并且,他能选择施展他的魔法,选择一个非负整数 k ,将这个数列中某一个长度为 k 的连续子段删去(剩下的元素按原顺序拼接),这个过程消耗 k 个单位的魔力值。
因为施展魔法后小明会变得很虚弱,所以他只能施展该魔法至多一次。当然,如果 {a} 原来就是多彩的,他也可以不施展。