随笔分类 - 字符串——后缀自动机
摘要:我一定是闲的无聊才会去做这个...
阅读全文
摘要:恶心人的题...
阅读全文
摘要:2019.3.5 青岛普转肯模拟赛day1暨徐源粉丝线下见面会 期望得分:70+20+40 实际得分:30+20+20 比赛链接 A.智慧树tree(树形DP NTT Bluestein) 题目链接 根据群里的聊天记录,瞎猜理解了一波,重新理解了一遍DFT和NTT...会记在下面($d
阅读全文
摘要:为什么要写这个呢...
因为毒瘤出题人模拟赛搬原题→_→
阅读全文
摘要:无摘要*2
阅读全文
摘要:"LOJ" "洛谷" "BZOJ" 考虑的情况: 对串建SAM,在上面匹配,可以得到每个位置的后缀的最长匹配长度。 因为要去重,对也建SAM,计算上面所有节点的答案。记表示节点第一次出现的下标(同一节点代表的串出现的位
阅读全文
摘要:对于每个串,求在个串中只在该串中出现过的子串的数量。
阅读全文
摘要:给定母串S,求模式串的循环同构串在S中的出现次数。
阅读全文
摘要:"题目链接" 假设我们知道一个节点表示的子串的和sum,表示的串的个数cnt,那么它会给向数字x转移的节点p贡献 的和。 建广义SAM,按拓扑序正序递推就行了。 网上怎么都是加的通配符。。可以在每个串后加 ,没什么不同,还是枚举转移时枚举到 就可
阅读全文
摘要:"题目链接" 首先二分答案L。然后就是判断能否将原串划分出一些长度不小于L的子串,这些子串要是给定n个串中的某个串的子串,且满足它们的长度之和不小于原串长度的90%。 贪心多长选一段什么的显然不对。老老实实DP。 设为到划分出的最长长度(不用想什么奇奇怪怪的状态啊→_→),则$f[
阅读全文
摘要:字符串DP四合一的神(po)题
阅读全文
摘要:
阅读全文
.jpg)
摘要:"题目链接" 先考虑 假设S确定,使构造S操作次数最小的方案应是:对T建SAM,S在SAM上匹配,如果有S的转移就转移,否则操作数++,回到根节点继续匹配S。即每次操作一定是一次极大匹配。 简单证明:假设S="ABCD",T有子串"A","AB","CD","BCD",那么步数最小方案是选"AB"再
阅读全文
摘要:"题目链接" SAM: 能成为识别子串的只有那些|right|=1的节点代表的串。 设这个节点对应原串的右端点为r[i],则如果|right[i]|=1,即这些子串都出现一次。 那么对于[ r[i] len[
阅读全文
摘要:给定两个字符串,求它们有多少个相同子串。相同串的位置不同算多个。
阅读全文
摘要:"题目链接" "后缀数组做法见这" 。 直接SAM+map。对于每个节点其产生的不同子串数为len[i] len[fa[i]]。 cpp //15932kb 676ms include include include include // define gc() getchar() define M
阅读全文
摘要:SAM求字符串的最小循环表示。
阅读全文