摘要: "Link" 思博题。 根据鸽巢原理,当区间长度$\ge14$时一定有解。 因此对于查询操作,我们可以用bitset优化暴力背包做到单次$O(\frac{13 v}{\omega})$。 对于修改操作,容易发现一定存在一个$\le p$的循环节,和Pollard Rho中的$\rho$型结构很相似。 阅读全文
posted @ 2020-01-21 20:22 Shiina_Mashiro 阅读(104) 评论(0) 推荐(0) 编辑
摘要: "Link" 可以发现这张图一定是由若干个偶环构成,直接枚举的复杂度是$O(2^{\frac n2})$的。 当环的大小为$2$时,在左边放左括号一定不劣,所以只需要考虑所有大小$\ge4$的环即可,时间复杂度为$O(2^{\frac n4})$。 阅读全文
posted @ 2020-01-21 16:38 Shiina_Mashiro 阅读(183) 评论(0) 推荐(0) 编辑
摘要: "Link" 问题等价于问$y$点的字符串有多少个$pre$以$x$的字符串作为$suf$,也就是问Trie 树上根节点到$y$路径上的点中有多少点在$fail$树上$x$的子树里,树状数组维护即可。 阅读全文
posted @ 2020-01-21 16:15 Shiina_Mashiro 阅读(127) 评论(0) 推荐(0) 编辑
摘要: "Link" 我们知道往末尾加一个字符就相当于在KMP自动机上走一步,而我们的要求是不能经过终点。 那么矩阵快速幂优化DP即可。 阅读全文
posted @ 2020-01-21 15:48 Shiina_Mashiro 阅读(328) 评论(0) 推荐(0) 编辑
摘要: "Link" 设$f_{i,j}$表示$s$从$1$到第$i$个通配符是否能匹配$t_{1\sim j}$。 然后哈希一下再随便转移一下就好了。 阅读全文
posted @ 2020-01-21 15:03 Shiina_Mashiro 阅读(122) 评论(0) 推荐(0) 编辑
摘要: "Link" 预处理一下每个串从左往右和从右往左的哈希值。 然后枚举忽略的是哪一位,然后计算出每个串在忽略这一位下的哈希值。 接下来就是要计算有多少对哈希值相同的串,可以通过排序/哈希等方法解决。 阅读全文
posted @ 2020-01-21 10:35 Shiina_Mashiro 阅读(129) 评论(0) 推荐(0) 编辑
摘要: "Link" 首先显然合法的$T$都是$S$的$pre$。 如果一个位置的回文半径达到了$S$的末尾,那么这个位置一定是合法的。 同时如果一个位置的回文半径达到了$S$的开头并且末尾的位置是合法的,那么这个位置也是合法的。 可以证明其它的位置一定不合法。 阅读全文
posted @ 2020-01-21 10:16 Shiina_Mashiro 阅读(120) 评论(0) 推荐(0) 编辑