1 条题解
-
0
题解
思路
从右向左扫描字符串,用 表示当前已经处理的后缀中字符 的数量。
做法
扫描到位置 时先把 计入后缀;若 ,这对相邻的 可以不断向右扩张,把后缀中每个不是 的字符各改一次,而原本就是 的位置不需要操作,因此答案增加 。扩张结束后,这段后缀全部变为 ,所以清空计数并令 。从右向左采用这一操作不会影响更左侧尚未处理的位置,而当前后缀中每个非 字符至多贡献一次、也都能依次被改成 ,故每一步都取得了该相邻字符对能贡献的最大操作数,累加结果即为全局最优。
答案可能达到平方量级,需要使用 位整数。
复杂度
每次触发时只需重置 个字母的计数,因此总时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1535
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者