随笔分类 - 字符串
摘要:建立一个回文自动机,然后开一个桶遍历一下回文树就好了. code: #include <cstdio> #include <vector> #include <string> #include <cstring> #include <algorithm> #define N 500007 using
阅读全文
摘要:就是喜欢后缀自动机,yy了一个只用后缀自动机解决的方法. 对 3 个串建立广义后缀自动机,然后建立后缀树. 标记出每个点在0/1/2个串中是否作为子串出现,然后将后缀树中 2 串结尾的所有子树都设为危险节点. 然后对于 SAM 来一个拓扑序DP,我们开始的时候默认危险节点的最大值是 -inf,然后
阅读全文
摘要:绝对是我写过最长的一份代码了. 这个快敲吐了. 通过这道题能 get 到一个套路: 两颗树同时统计信息的题可以考虑在个树上跑边分治,把点扔到另一颗树的虚树上,然后跑虚树DP. 具体地,这道题中我们发现 $LCP$ 长度是反串后缀树 $LCA$ 深度,$LCS$ 是正串后缀树 $LCA$ 深度. 我们
阅读全文
摘要:思路不难,但是细节还是挺多的,要格外注意一下. code: #include <cstdio> #include <queue> #include <cstring> #include <algorithm> #define N 2005 #define ll long long #define m
阅读全文
摘要:裸题,敲完后没调就过了 ~ code: #include <bits/stdc++.h> using namespace std; #define ll long long #define lson t[x].ls #define rson t[x].rs #define setIO(s) freo
阅读全文
摘要:联赛前练练码力. code: #include <vector> #include <cstdio> #include <cstring> #include <algorithm> #define N 200006 #define ll long long #define lson t[x].ch[
阅读全文
摘要:特别神的一道题. 有一句话要反复揣摩:题中给的所有点构成一个多边形!! 而且读入还是按照多边形的轮廓读进来的!!! 我们知道,如果对称轴确定的话判定条件是对应角相等且对应边相等. 所以把相邻边夹角和边长看成二元组,然后倍长原串,跑一个 $mancher$ 求几个串的回文半径最大就行了. 代码就不贴了
阅读全文
摘要:太累了,刷刷水~ code: #include <bits/stdc++.h> #define N 500005 #define LL long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; char str
阅读全文
摘要:并不是很难啊,把细节想好了再写就很轻松了~ code:
阅读全文
摘要:水水的字符串题 ~
阅读全文
摘要:求树上两条路径的 LCP (树上每个节点代表一个字符) 总共写+调了6个多小时,终于过了~ 绝对是我写过的最复杂的数据结构了 我们对这棵树进行轻重链剖分,然后把所有的重链分正串,反串插入到广义后缀自动机中. 求 LCP 的话就是后缀树中两点 $LCA$ 的深度. 如果 $LCP$ 的长度小于两个重链
阅读全文
摘要:这个模型以前绝对见过,模拟赛的时候开始敲了一个AC自动机,纯属脑抽~ code:
阅读全文
摘要:现在看这道题也不难啊,不知道考场上为啥没切~ code:
阅读全文
摘要:这题解法很多,简单说几个: 1. 线段树合并,时间复杂度是 $O(nlog^2n)$ 的. 2. 暴力跳 $fail,$ 时间复杂度 $O(n\sqrt n),$ 比较暴力. 3. 建立后缀树后在 $dfs$ 序上数点,时间复杂度为 $O(nlogn),$ 十分优秀. Code:
阅读全文
摘要:思路比较直接. 由于 $n$ 很小,直接定义 $f[i][j]$ 表示当前在自动机中的节点 $i,$ 被覆盖串的集合为 $j$ 的方案数.
阅读全文
摘要:这道题还比较友好~首先,构建出来 $AC$ 自动机,那么我们要求的就是从 $0$ 号点走无限次走到一个终止节点的概率. 考虑构建转移矩阵 $M,$ $M_{i,j}$ 表示节点 $i$ 转移到节点 $j$ 的概率. 如果 $i$ 不是终止节点,则直接将概率相加即可,否则,只有 $M_{i,i}$ 为
阅读全文
摘要:思路肯定是没有问题,但是不知道为啥一直 TLE 两个点~
阅读全文
摘要:刷刷水~ Code:
阅读全文
摘要:比较考验对后缀自动机构建过程的理解. 之前看题解写的都是树链的并,但是想了想好像可以直接撤销,复杂度是线性的. 自己想出来的,感觉后缀自动机的题应该不太能难倒我~ 注意:一定要手画一下后缀自动机的构建过程,然后看着自己画的图一步一步模拟即可. Code:
阅读全文

浙公网安备 33010602011771号