摘要: 题解 可持久化$KMP$。 那个退回操作我们可以把它看做在操作树上$dfs$,所以我们可以先把这个树弄出来。 对于连续一段串的匹配问题。 我们可以搞个$KMP$自动机,输入当前节点编号也就是$nxt$,输入下一段连续的字符串,输出$nxt$跳完之后的值。 然后我们可以把这个字符串的$fail$树弄出 阅读全文
posted @ 2019-05-28 21:44 comld 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 题解 如果只有加法没有减法,那么我们朴素进位的时间复杂度是均摊$O(1)$的。 那么减法的话我们维护一个增量的数,一个减量的数,就是一个存所有$a 0$的变量,一个存所有$a define N 1000002 using namespace std; typedef long long ll; ty 阅读全文
posted @ 2019-05-28 11:38 comld 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题解 先把点分树建出来。 对于吗,每一个询问$(l,r,x)$,我们对于x要找到它在点分树上最靠上的父亲节点使得两点之间的点在$l \sim r$中。 然后问题就变成了从一个根出发,可以经过$l \sim r$的点,能访问的颜色个数。 那么因为有了点分树,所以我们对于每个点$dfs$它的子树的复杂度 阅读全文
posted @ 2019-05-28 07:25 comld 阅读(298) 评论(0) 推荐(0) 编辑