专栏文章
STRFFT 的意思是不是 街首
CF827E题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mimz0p2a
- 此快照首次捕获于
- 2025/12/01 17:52 3 个月前
- 此快照最后确认于
- 2025/12/01 17:52 3 个月前
快速卷积匹配就不说了,之前训卷积的时候做过很多个这样的题目,套路就是 sigma 条件转艾弗森括号后进行和、差卷积匹配,或者对哈希值进行匹配。可以参考 P4173 和 qoj11617 等。
那么我就讲一下周期相关的事情。现在题解区里大家对“哪些长度是周期”的认知还是“先去掉一定不可能的,再推理矛盾的”,这里给出一个通用的结论。
- 【结论】一个字符串 有周期 当且仅当下面条件不成立:存在 ,有 。当然像本题的问号之类的通配符之类的不算不等(下面记作“”)。
需要注意当周期被规定为满周期的时候显然还要加个条件就是 。接下来证明上面给出的结论。
充分性: 即若条件不成立一定有周期。考虑对于所有 ,根据不存在 ,一定有 (其中 表示他们要么相等要么有通配符在里面,如上文所述)。因此满足周期性质。
必要性: 若条件成立,设 ,且 是最小的满足这个条件的数。那么归纳。若 显然 不是周期;否则一定有 或 ,故 非最小,矛盾。
因此得证。我们只需要卷积出所有 之后标记它们所有因数即可。使用枚举倍数被动获得 tag 的方法,可以做到和 NTT 一样的复杂度,因此本题复杂度 。
反思: 一个很有意思的点在于其他题解一直声称本题“问号不是通配”,这只是对周期的性质不了解。当串完好的时候,若 ,那么一定有 或 ,因此只将所有的 ban 掉也是能够通过;但是像这个题,就需要深入挖掘周期的性质,ban 掉所有 。这样子就不用被通配符迷惑了。
NOIP 2025 RP++
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...