
KMP
文章平均质量分 56
linkfqy
A link to FQY.
展开
-
【KMP,next树】BZOJ3670 [Noi2014]动物园
题面在这里先KMP建出next树,那么num[i]就是i的祖先中最大的编号小于等于i/2的深度用一个指针维护一下就可以得到了示例程序:#include<cstdio>原创 2017-08-07 20:10:53 · 917 阅读 · 0 评论 -
【KMP求最小循环节】POJ2406 Power Strings
题面在这里可以发现,如果字符串S存在循环节 对其求next,大概是长这样的: 很显然,答案是NN−next[N]\frac N {N-next[N]} 否则一定不会整除示例程序:原创 2017-08-01 16:15:56 · 740 阅读 · 0 评论 -
KMP算法及其应用
前言今天学习了一个新算法:KMP算法 其实很久以前学过早忘了 KMP算法是用于处理字串问题的算法。参考Matrix67的博客:KMP算法详解|Matrix67KMP算法的原理假设有字符串A和B,要求判断B是否是A的字串 其实就是对于每个i,求最大的j,使得Ai−j+1→i与B1→jA_{i-j+1\rightarrow i}与B_{1\rightarrow j}一一匹配 能匹配j指针就往后跳原创 2017-08-01 21:23:24 · 4068 阅读 · 0 评论 -
【KMP】POJ2752 Seek the Name, Seek the Fame
题面在这里由于字符串border的border一定是原串的border 所以不断求next即可示例程序:原创 2017-08-01 22:11:30 · 374 阅读 · 0 评论 -
【KMP】POJ3461 Oulipo
题面在这里没什么好说的……直接KMP就好了示例程序:原创 2017-08-01 22:24:56 · 496 阅读 · 0 评论 -
【KMP next树】51nod 1277 字符串中的最大值
题面在这里首先要明确一个性质:字符串border的border是原串的border 所以一个前缀是多少个前缀的border,它的出现次数就是多少所以在next树上,子树的大小就是它的出现次数 统计一下就好了示例程序:原创 2017-08-02 12:17:05 · 651 阅读 · 0 评论 -
【KMP+DP+矩阵优化】BZOJ1009 [HNOI2008]GT考试
题面在这里显然需要递推,定义fi,jf_{i,j}为处理到第i位,不吉利数字匹配到第j位的方显然答案就是 ∑i=0m−1fn,i\sum_{i=0}^{m-1} f_{n,i} 怎么转移状态?对于fi,jf_{i,j},枚举i+1位的数字,用KMP得到不吉利数字新的匹配位置k,就有 fi+1,k+=fi,jf_{i+1,k}+=f_{i,j} 然而n是10910^9级别的,显然不能这原创 2017-08-07 11:51:54 · 796 阅读 · 0 评论