KMP
lasomisolaso~
这个作者很懒,什么都没留下…
展开
-
2019 CCPC秦皇岛 J 题 MUV LUV EXTRA【KMP 求最小循环节】
题意: 原题意是给出一个有理数的前一部分,求这个有理数的无限循环部分是什么。有一个值来评估猜的准确度。转换一下就成了下面的题意: 给出一个字符串s,有某一个子串,设p为该子串在s的某个后缀中的匹配长度,l为该子串的长度。这个子串的值就是a * p - b * l。求所有的在s的某个后缀中至少循环一次的所有子串中值最大的是多少。 思路: 观察给出的计算子串值的式子,我们要让匹配长度尽量长,子串尽量短才能让这个值尽量大。 我们发现如果固定了子串匹配的后缀,那么这个最大的值的子串就确定了,它就是这个后缀的最小循环原创 2020-10-21 23:41:25 · 222 阅读 · 0 评论 -
HDU 3746 Cyclic Nacklace(KMP循环节问题)
题意: 给出一个串,可以在左端或右端加字符。问使这个串至少有两个循环节,至少要加多少个字符。其实在左和右加是一样的,这里我们讨论在右加。 关于KMP循环节问题: 首先可以确定一个事情,就是一个字符串,它可以分为两类。 1.不完整的循环串 2.完整的循环串 比如abcabcabc就是一个有三个循环节的完整的循环串,而abcabca就是有两个循环节的不完整的循环串,它要加上ab才能成为有三个循环节的完...原创 2019-08-17 14:11:13 · 238 阅读 · 0 评论