摘要:
#题面 一个字符串的前缀是从第一个字符开始的连续若干个字符,例如"abaab"共有5个前缀,分别是a, ab, aba, abaa, abaab。 我们希望知道一个N位字符串S的前缀是否具有循环节。换言之,对于每一个从头开始的长度为 i (i 大于1)的前缀,是否由重复出现的子串A组成,即 AAA. 阅读全文
摘要:
#有关的一些解释 下面的阐述中使用next只是方便理解 请不要在代码中使用next作为数组名(如果你用using namespace std的话) #用来解决的问题: 在比较字符串A和B中询问B中是否包含A #算法 我们将A和B字符串都从第一位开始编号 我们定义一个$next_i$的值 其含义是满足 阅读全文
摘要:
#动态开点线段树 首先: 你需要知道 什么是线段树(我的模板) 及 权值线段树 动态开点的概念和功能 在线段树里 其实 动态开点 就和 C++ 里的new()差不多 思考这样一个问题 我们有一个权值最大为$19$的权值线段树 我们一算 需要的空间元素个数大概在 $49$ 直接MLE 于是你说着出题人 阅读全文