随笔分类 -  KMP

摘要:洛谷传送门 一个 A 合法的充要条件为: AS1i 的一个 border; AS1i 中不重叠地出现 k 次。 建出失配树后,发现合法的 A 在树上组成一条某个点 u 到根的链,且 阅读全文
posted @ 2024-07-17 19:35 zltzlt 阅读(34) 评论(0) 推荐(0) 编辑
摘要:洛谷传送门 CF 传送门 ~~zxx 的题单来的(~~ 发一个无脑 kmp 自动机 + dp 做法。 看到题就很 dp,考虑设计状态。显然填字母时要知道当前串与 s,t 的匹配位数,否则就不知道 s,t 是否完整出现。设 fi,j,k 表示填到 c 的第 i 个字符,与 $ 阅读全文
posted @ 2022-12-29 14:19 zltzlt 阅读(38) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-07-18 20:05 zltzlt 阅读(0) 评论(0) 推荐(0) 编辑
摘要:洛谷传送门 CF 传送门 KMP 好题。 思路 合法的子区间其实就是原串的 border,考虑维护 border 的集合。每次加入一个字符,就保留原来合法的 border 并加入新的合法 border(如果 $s 阅读全文
posted @ 2022-07-02 12:42 zltzlt 阅读(33) 评论(0) 推荐(0) 编辑
摘要:洛谷传送门 思路 注意到只要字符串出现的相对位置匹配就行。设 ai,bi 分别为明文/密文中第 i 个字符串与上一个跟它相同的字符串隔了几个单词(若该字符串第一次出现则设为 +)。然后直接 KMP。注意可能有这种情况:明文为 c (a b c)、密文为 x y 阅读全文
posted @ 2022-06-26 14:08 zltzlt 阅读(119) 评论(0) 推荐(0) 编辑
摘要:洛谷传送门 思路 首先发现,题中所述的 border 就是 KMP 中的 fail。求两个前缀的公共 border,就是跳到最大的公共的 fail。 因此建出 fail 树,则每次询问跑一遍 LC 阅读全文
posted @ 2022-06-22 14:03 zltzlt 阅读(44) 评论(0) 推荐(1) 编辑
摘要:洛谷传送门 CF 传送门 思路 题意相当于将 S 表示成 AkBAx=Ax1AA0 为空串),其中 BA 的前缀。 考虑枚举 |Ak|,设 |Ak|=len (k | len),在 [1,len] 中寻找长度为 $\dfr 阅读全文
posted @ 2022-06-22 11:20 zltzlt 阅读(46) 评论(0) 推荐(0) 编辑
摘要:洛谷传送门 思路 区间 dp。设 fl,r 为子串 [l,r] 压缩的最短长度,显然有 fl,rmini=lr1fl,i+fi+1,r。还要考虑压缩 [l,r] 的情况。 设 \(fail_{i 阅读全文
posted @ 2022-06-22 11:00 zltzlt 阅读(38) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示