kmp
_kikyou-
这个作者很懒,什么都没留下…
展开
-
Dishonest Driver Gym - 102465K (区间dp+kmp求最短周期)
题目链接 题意:给你一个字符串(长度<=700),问其可以压缩成的最短长度是多少,比如: aaabaaabccdaaabaaabccd 压缩成 ((a^3*b) ^2 * c ^2 *d) ^2 长度为4(abcd4个字符) aada 压缩成a^2 *d *a 长度为3 思路:首先可以想到是区间dp,因为当考虑dp[i][j], dp[i][j]表示从i到j这段字符串,(记作Sij) 对应的最短压缩长度,如果存在Sik满足Sik是Sij的一个周期并且Sij的长度是Sik长度的整数倍,那么dp[i原创 2020-08-15 23:39:52 · 1131 阅读 · 0 评论 -
String Problem HDU - 3374 (最大最小表示法+kmp求模式次数)
题目链接 题目大意:给你一个字符串,求它所有同构串(末尾元素移1个到开头算一次同构)中,字典序最大以及最小的串出现的位置。 位置由题目定义:如给出 SKYLONG SKYLONG 1 KYLONGS 2 YLONGSK 3 LONGSKY 4 ONGSKYL 5 NGSKYLO 6 GSKYLON 7 很显然是一道最大最小表示法模板题。 思路就是先预处理字符串str,str=str+str;然后求出最大最小字符串起始点,分别用kmp算法求出其在str中的出现次数就好了(此时的str要去掉末尾字符,否则第一个原创 2020-07-29 18:20:21 · 152 阅读 · 0 评论