
KMP
Tsttkx
.......
展开
-
剪花布条 HDU - 2087(KMP模板)
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。 Output 输...原创 2019-03-05 23:41:46 · 174 阅读 · 0 评论 -
Oulipo HDU - 1686(KMP牛逼)
我写这个博客是不是感觉我很牛逼,不不,很菜的,只不过是将思路记下来而已。kmp我是很多都是套模板来A题,对于其中的本质思想,还不是很透彻,所以 给出大佬的博客 :大佬博客 求模式串在待匹配串的出现次数。 Input 第一行是一个数字T,表明测试数据组数。 之后每组数据都有两行:第一行为模式串,长度不大于10000;第二行为待匹配串,长度不大于1000000。所有字符串只由大写字母组成。 ...原创 2019-03-03 15:04:42 · 269 阅读 · 0 评论 -
Period HDU - 1358(KMP next 数组应用2)
For each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the prefix is a periodic string. That is, for each i (2 ...原创 2019-03-08 23:51:46 · 159 阅读 · 0 评论 -
Cyclic Nacklace HDU - 3746(KMP next 数组应用)
有一个字符序列,现在问你: 序列后面最少补充几个元素使其恰能成为几个重复循环的序列。 Input 第一行是一个整数 T ( 0 < T <= 100 ) 代表测试数据的组数. 之后T行每行一个字符串. 由小写字母'a'-'z'组成. 字符串的长度为: ( 3 <= Len <= 100000 ). Output 对于每组测试数据,输出一行,即序列后面最少补充几个元素...原创 2019-03-08 21:55:32 · 210 阅读 · 0 评论 -
Camp Schedule CodeForces - 1138D (KMP按模式串构造)
一年一度紧张又刺激的暑假集训又要来啦!为此,老王开始制定实验室的暑假训练时间表。 经过苦思冥想,老王终于安排出了一个时间表s。他把时间表表示为二进制字符串,训练为”1“,休息为”0“。 后来,老王翻知乎突然发现了一个”超有效哒时间表“t,知乎上说,这个时间表可以使同学收获最大。 老王决定修改自己的时间表,使暑假训练时间表中”超有效哒时间表“出现次数最多,并且休息和训练的天数不应该...原创 2019-04-10 17:01:43 · 343 阅读 · 0 评论 -
KMP next 数组的思想
刚刚写了点 我刚刚调试了几次,然后又在自行输出。我先说说啊,就是这个next数组就为什么可以求出前后缀最长相同的数量?首先说说前后缀,例如字符串aaaa,我们就直接用眼睛看的话,就是最长就是3,aaaa;aaaa。这就是最长的前后缀,我们怎么用代码实现的呢?首先前后缀不能是一样的(就如这个前后缀不能是aaaa,aaaa这就不是前后缀了),...原创 2019-03-28 19:55:28 · 344 阅读 · 0 评论 -
Seek the Name, Seek the Fame POJ - 2752(KMP应用)
Stringland有一只小猫非常有名,许多夫妇跋涉到Stringland请小猫为他们的新出生的婴儿起名字,他们寻求这个名字,同时寻求名声。为了摆脱这种无聊的工作,创新的小猫制定了一个简单而奇妙的算法: 第一步、将父亲的姓名和母亲的姓名连接到一个新的字符串S. 第二步、找一个 S 的前缀-后缀串作为新生儿的名字(前缀-后缀串是S的前缀,又是S的后缀) 比如:父亲='ala',母亲='la',我们有...原创 2019-04-20 10:53:32 · 185 阅读 · 0 评论 -
Segment Occurrences CodeForces - 1016B(KMP)
给你两个由小写英文字母组成字符串s,t。如果s[i...i+|t|-1] = t (|t|表示t的长度),则认为s[i...i+|t|-1] 是t的相等串。现在有q次询问,每次询问你s[L..R]中有多少个不同位置的t的相等串。 Input 第一行输入三个整数n,m,q,表示s,t的长度和询问次数。(1 <= n,m <= 1000 , 1 <= q <= 100000...原创 2019-04-20 11:16:29 · 202 阅读 · 0 评论