
kmp
v5zsq
新的一天,新的不会
展开
-
POJ 2185 Milking Grid(二维kmp)
Description n*m的字符串,问用最小的面积的字符串去覆盖它,求最小的面积 Input 第一行为矩阵行列数n和m,之后为以n*m的矩阵 Output 输出最小覆盖矩阵的面积 Sample Input 2 5 ABABA ABABA Sample Output 2 Solution 可以分行分列考虑,容易想到当只考虑行的时候,只要把每一行看成一个字符,就可以求出关原创 2015-09-02 08:41:01 · 606 阅读 · 0 评论 -
Newcoder 141 E.Sort String(kmp)
Description给出一个只由小写字母组成的字符串SSS,将该字符串旋转平移生成nnn个字符串,对于相同的字符串,将其在原串中的起始位置分到一个集合,把每个集合元素从小到大排序,再把每个集合按元素最小值从小到大排序,输出排序后的这些集合以及每个集合内的元素Input一个只由小写字母组成的字符串S(1≤|S|≤106)S(1≤|S|≤106)S(1\le |S|\le 10^6)...原创 2018-09-15 22:05:46 · 186 阅读 · 0 评论 -
Newcoder 140 K.carpet(hash+kmp+单调队列)
Description给出一个n×mn×mn\times m的矩阵AAA,每个元素有权值,由AAA矩阵不断复制得到一个无限大矩阵CCC,求AAA矩阵的一个p×qp×qp\times q子矩阵BBB使得BBB矩阵也能生成CCC矩阵且BBB的代价(BBB中元素点权最大值⋅(p+1)⋅(q+1)⋅(p+1)⋅(q+1)\cdot (p+1)\cdot(q+1))最小Input第一行两个整数n...原创 2018-09-15 22:03:50 · 281 阅读 · 0 评论 -
HDU 6153 A Secret(kmp)
Description给出两个字符串a,ba,b,求bb串所有后缀在aa中出现次数与后缀长度乘积之和Input第一行一整数TT表示用例组数,每组用例输入两个字符串a,b(1≤T≤10,1≤|a|,|b|≤106)a,b(1\le T\le 10,1\le |a|,|b|\le 10^6)Output对于每组用例,输出答案,结果模109+710^9+7Sample Input原创 2018-01-22 17:09:51 · 427 阅读 · 0 评论 -
HDU 6068 Classic Quotation(kmp+dp)
Description 给出一个长度为n的字符串S和一个长度为m的字符串T,有q次查询,每次查询给出一个区间[L,R],求对所有1<=i<=L,R<=j<=n,去掉S串的[i,j]部分后重组的串可以匹配T的次数之和 Input 第一行一整数T表示用例组数,每组用例首先输入三个整数n,m,q分别表示S串串长和T串串长以及查询次数,之后输入串S和串T,两个串均由小写字母构成,最后q行每行输入两个整原创 2017-08-05 11:27:31 · 624 阅读 · 0 评论 -
HDU 5763 Another Meaning(kmp+dp)
Description 给出一个文本串一个模式串,然后文本串中匹配到模式串就可以把匹配部分改成*,问文本串有多少种不同的情况 Input 第一行为一整数T表示用例组数,每组用例输入两个字符串a,b分别表示文本串和模式串(T<=30,|b|<=|a|<=100000) Output 对于每组用例,输出文本串的可能情况数 Sample Input 4 hehehe hehe woqu原创 2016-08-10 10:53:58 · 541 阅读 · 0 评论 -
HDU 4552 怪盗基德的挑战书(kmp+dp)
Description 求一个字符串的所有前缀在串中出现的次数之和 Input 多组用例,每组用例占一行为一个长度不超过100000的字符串,以文件尾结束输入 Output 对于每组用例,输出该字符串的所有前缀在串中出现的次数之和,结果模256 Sample Input aaa abab Sample Output 6 6 Solution 首先我们知道next数组中nex原创 2016-05-03 15:45:30 · 1077 阅读 · 6 评论 -
HDU 4300 Clairewd’s message(扩展kmp)
Description 给出置换密码的密钥,即第i个字母用哪个字母表示,再给出一个串,串前面为密文,后面为明文,密文一定是完整的,但明文不完整或可能没有,求包含完整密文和完整明文的最短的串 Input 第一行为一整数T(T<=100)表示用例组数,每组用例首先输入26个字符表示密钥,然后属于一个串,串长不超过100000 Output 对于每组用例,输出包含完整密文和完整明文的最短的串原创 2016-05-03 11:20:37 · 460 阅读 · 0 评论 -
HDU 4333 Revolving Digits(kmp+扩展kmp)
Description 给定一个数字,每一次将该数的第一位放到放到最后一位,求所有组成的不同的数比原数小的个数,相等的个数,大的个数 Input 第一行一整数T(T<=50)表示用例组数,每组用例占一行为一整数n(n<=10^100000) Output 输出所有组成的不同的数中比原数小的个数,相等的个数,大的个数 Sample Input 1 341 Sample Output原创 2016-05-03 11:13:57 · 509 阅读 · 0 评论 -
HDU 3613 Best Reward(扩展kmp)
Description 给出一个只由小写字母组成的字符串以及每个小写字母的价值,现要将这个字符串分成两半,如果某一半是回文串则将累加这一半串的价值(价值即为这个串中每个字符的价值之和),问能得到的最大价值 Input 第一行为一整数T表示用例组数,每组用例首先输入26个整数表示a到z这26个小写字母的价值,之后输入长度不超过500000的一个字符串 Output 对于每组用例,输出将该字符原创 2016-05-03 10:59:06 · 716 阅读 · 0 评论 -
HDU 1711 Number Sequence(kmp)
Description 给出两个序列a[1],a[2],…,a[n]和b[1],b[2],…,b[m],先要求出最小的k使得a[k]=b[1], a[k+1]=b[2],…,a[k+m-1]=b[m] Input 第一行为用例组数,每组用例第一行为两个整数n和m表示两个序列的长度,第二行为n个整数表示a序列,第三行为m个整数表示b序列 Output 对于每组用例,如果存在k满足条件则输出原创 2015-10-04 09:16:47 · 580 阅读 · 0 评论 -
HDU 2594 Simpsons' Hidden Talents(kmp)
Description 给出两个字符串s1和s2,问s1的前缀和s2的后缀最大匹配及其数量 Input 多组输入,每组用例占两行包括两个字符串s1和s2,以文件尾结束输入 Output 对于每组用例,输出s1的前缀和s2的后缀最大匹配及其数量 Sample Input clinton homer riemann marjorie Sample Output 0 rie 3原创 2015-09-08 08:37:00 · 709 阅读 · 0 评论 -
HDU 3746 Cyclic Nacklace(kmp)
Description 给你一个字符串,要求将字符串的全部字符最少循环2次需要添加的字符数 Input 第一行为用例组数T,之后T行每行一个字符串表示一组用例 Output 对于每组用例,输出需要添加的最少字符数 Sample Input 3 aaa abca abcde Sample Output 0 2 5 Solution 先用kmp算法处理出next数组,我原创 2015-09-08 08:41:44 · 547 阅读 · 0 评论 -
POJ 1226 && HDU 1238 Substrings(kmp)
Desciption 给出n个字符串,求出一个最长的串,使得这个串或者这个串的回文在所有n个字符串中都出现 Input 第一行为用例组数t,每组用例第一行为串数n,之后n行每行一个字符串 Output 对于每组用例,输出满足条件的最长串长 Sample Input 2 3 ABCD BCDFF BRCD 2 rose orchid Sample Output 2原创 2015-09-02 08:41:53 · 622 阅读 · 0 评论 -
HDU 3336 Count the string(kmp+dp)
Description 给定一字符串,求它所有的前缀出现的次数的和 Input 第一行为用例组数T,对于每组用例第一行为字符串长度n,第二行为一个字符串 Output 对于每组用例,输出该字符串所有的前缀出现的次数的和 Sample Input 1 4 abab Sample Output 6 Solution 直接暴力枚举所有前缀显然会超时,那么只有从动态规划的角度来考原创 2015-09-08 08:38:06 · 628 阅读 · 0 评论 -
POJ 1961 && HDU 1358 Period(kmp)
Description 给若干个字符串,判断该字符串的前n位最多重复了几次,比如,给ababab,结果是前4位重复了2次,前6位重复了3次,忽略重复一次的情况 Input 多组用例,每组用例第一行为字符串长度n,第二行为该字符串,以n=0结束输入 Output 对于每组用例,输出其前缀重复了几次,每组输出后跟一空行 Sample Input 3 aaa 12 aabaabaab原创 2015-09-02 08:40:36 · 673 阅读 · 0 评论 -
POJ 3461 && HDU 1686 Oulipo(kmp)
Description 求a串在b串中出现的次数 Input 第一行为用例组数t,每组用例占两包括两个字符串b串和a串 Output 对于每组用例,输出a串在b串中出现的次数 Sample Input 3 BAPC BAPC AZA AZAZAZA VERDI AVERDXIVYERDIAN Sample Output 1 3 0 Solution kmp基础原创 2015-09-02 08:41:37 · 730 阅读 · 0 评论 -
POJ 2406 Power Strings(kmp)
Description 求字符串的循环节个数 Input 多组用例,每组用例占一行为一字符串,以‘.’结束输入 Output 对于每组用例,输出该字符串的循环节个数 Sample Input abcd aaaa ababab . Sample Output 1 4 3 Solution kmp大法,n-next[n]为字符串最小循环节长度 Code#inc原创 2015-09-02 08:41:20 · 452 阅读 · 0 评论 -
Newcoder 147 F.Typing practice(kmp)
Description给出nnn个字符串以及一系列操作,操作是对一个初始为空串的字符串进行末尾加字符或者删除末尾字符,每次操作结束之后,查询当前字符串末尾至少需要补充几个字符才能使得nnn个字符串中至少存在一个字符串是这个字符串的后缀Input第一行一整数nnn表示字符串数量,之后输入nnn个只由小写字母组成字符串,最后输入一个操作序列字符串,如果某一位是小写字母则是在末尾加该字母,否则该位...原创 2018-09-25 20:16:20 · 247 阅读 · 0 评论