随笔分类 -  KMP

摘要:一道好题。 考虑拆分询问,对于经过LCA的出现位置,可以把前链和后链接近LCA部分的slen-1个字符直接取出进行KMP计算,复杂度O(sigema S) 那么现在就要计算树上一条上至下的链形成的串中,询问串出现了多少次(前链是下至上的,把询问串反过来即可) 考虑把这样的询问拆分成两条根到点的链,离 阅读全文
posted @ 2019-08-03 10:49 AKCqhzdy 阅读(325) 评论(0) 推荐(0) 编辑
摘要:第二次在bzoj跑进前十竟然是因为在UOJ卡常致死 首先这个题其实就是一个无限背包 一般做法是同余最短路,就是bzoj2118: 墨墨的等式可以拿到30分的好成绩 背包是个卷积就分治FFT优化那么下面20也没问题了 官方做法是大力bitset优化背包并且嘲讽了一波这个做法 再往后需要一个性质参见鏼爷 阅读全文
posted @ 2019-03-21 16:48 AKCqhzdy 阅读(247) 评论(0) 推荐(0) 编辑
摘要:这道题很有意思啊。 字符串循环节用KMP(手推一下) 假如是26^12肯定很不滋磁 但是可以发现ABA和BCB和BAB这些都是等价的 那就把最小的拿出来搞再乘个排列数就好了 阅读全文
posted @ 2018-09-25 20:42 AKCqhzdy 阅读(131) 评论(0) 推荐(0) 编辑
摘要:好流弊的题啊 f[i][j]表示当前枚举到第i位,和不吉利数字匹配到第j位 mp[i][j]表示匹配到第i位,转移到第j位方案 那么f[i][j]=sigema f[i-1][k]*mp[k][j] 矩乘 {f[i-1][0]~f[i-1][m-1]}*mp={f[i][0]~f[i][m]} mp 阅读全文
posted @ 2018-04-24 11:45 AKCqhzdy 阅读(123) 评论(0) 推荐(0) 编辑
摘要:真是被毒到了。。。 一開始看錯題了。。。 本來我的做法是記録num直接跳p,結果發現會tle(本機對拍都過了嘛,還是隔壁老爺機) 估计是故意卡了。拍了好久QWQ 正解怎麽做呢,我們類似的再找一次p,但不更新,求值的時候直接往前跳,這樣保證了j几乎是小於i/2的。 j>i/2写成j>i-j+1会挂,原 阅读全文
posted @ 2018-04-18 15:49 AKCqhzdy 阅读(133) 评论(0) 推荐(0) 编辑
摘要:不得不说这是一道好题(前排膜拜灯教授),其实这道题如果不说是EXKMP,很容易就想到Manacher(好像也可以这样做) 回到这道题,这样只有一个字符串,还要求回文?立刻想到了将这个串和它的反串跑EXKMP,举个例子:假设字符串s[0]是acacac,那它的反串s[1]就是cacaca,互相跑EXK 阅读全文
posted @ 2017-09-20 13:47 AKCqhzdy 阅读(263) 评论(0) 推荐(0) 编辑