
KMP
Deep_Kevin
这个作者很懒,什么都没留下…
展开
-
[SCOI2016]围棋,洛谷P3290,kmp辅助轮廓线Dp
正题 考虑构造Dp:表示当前在第i行,第j列的轮廓线上,上一行匹配成功的结束端点集合为S,当前这行匹配k了模板第一行的k个,第二行的l个 考虑到集合S实际上只用记录有效的位置,也就是pos>=c,那么总状态数就是 转移枚举后一个位置放什么,用kmp来找第i个位置后面放一个x会转移到哪里,kmp的时间复杂度显然正确 若当前第二行新加进来一个字符满足第二行匹配c位,且S中第一位为1,那么这个状态就不合法,直接跳过. 否则也要更新S,将第一位弹掉,...原创 2020-09-09 18:42:41 · 187 阅读 · 0 评论 -
回文匹配,洛谷P6216,kmp+manacher+树状数组维护
看到题解O(n+m)O(n+m)O(n+m)的跑的比我慢,我就放心了 我的时间复杂度是O((n+m)logn)O((n+m)\log n)O((n+m)logn)的,而且很好想 首先我们考虑对于一个s2s2s2在s1s1s1出现的区间[l,r][l,r][l,r],对于一个回文中心i的贡献,显然两个端点哪个离中心更远,就应该在哪个上算贡献,从左往右遍历每一个我们只需要在中间点的右边一个点切换一下即可 一个区间[l,r][l,r][l,r]对回文中心iii的贡献具体应该是: 用[i−mx[i],i+mx[i原创 2020-09-09 08:58:44 · 173 阅读 · 0 评论