1 条题解
-
0
自动搬运
来自洛谷,原作者为

時空
挂分领域代师搬运于
2025-08-24 23:04:35,当前版本为作者最后更新于2024-10-03 22:57:32,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
好题啊。感觉绿有点虚高,上位黄应该是。
注意到 ,所以只能有 的做法。
记 表示将前 个数进行划分的方案数。
则显然有 ,其中 满足 且 不为无趣的字符串。
手玩一下第三个样例,发现一个很好的性质:不为无趣字符串的字符串长度不会超过 。具体会不会更小,出题人的爆搜表明不会超过 ,这里不考虑。
那么就可以 了,瓶颈在于检查一个区间是否“无趣”。
要做到 ,检查必须是 的。那么进行预处理:记 表示以 为右端点,能向左扩展的最远点,满足区间 不“无趣”。
显然这个东西是单调的。若 不“无趣”,则对于任意 ,区间 均不“无趣”。
那么双指针预处理即可。每次右端点 右移时,加入 的贡献,即将 的和加入,如果其中有出现过的(即 “无趣”),就左端点 不断右移,并删除 的贡献,直到没有重复出现的,即 不“无趣”。
判断是否重复出现可以开一个数组。那么就做完了。
注意有点卡常,把取模运算换成减法即可。
代码很丑,不放了。具体代码可以参考官方题解。
- 1
信息
- ID
- 10777
- 时间
- 500ms
- 内存
- 512MiB
- 难度
- 4
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者