KMP
Jerry99s
OI -> ACM -> AI
展开
-
Codevs3945 完美拓印
地址:http://codevs.cn/problem/3945/ 分析: 这是codevs第一次月赛,一开始写跪了,但是想到了KMP正解,昨天刚学习了KMP,也找了一个好模板。 但是第7个点是强行过的,不清楚哪里错了。 代码:#include <cstdio> #include <algorithm> #include <cstring> using原创 2015-07-26 20:20:00 · 357 阅读 · 0 评论 -
hihoCoder#1015 KMP算法
题目:http://hihocoder.com/problemset/problem/1015 分析:裸的KMP,正好敲了一遍以前的模板,查出来点错。 代码:#include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int Tmax=1000005; int T,f[Tmax],s原创 2015-08-21 12:34:05 · 332 阅读 · 0 评论 -
POJ2406 Power Strings
题目:http://poj.org/problem?id=2406 分析:kmp next数组的应用.如果是周期串,则len%(len-next[len])==0,且len/(len-next[len])即为周期. 代码:#include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int原创 2015-11-02 10:39:59 · 245 阅读 · 0 评论 -
17ACM Qingdao 1003 The Dominator of Strings
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6208 分析:选任意一个最长的字符串,用KMP判断另外的串是否都在这个串内。 代码:#include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int Tmax=100005; int n,p[T原创 2017-09-20 23:37:51 · 180 阅读 · 0 评论 -
HDU 6629. string matching (扩展KMP)
题目: http://acm.hdu.edu.cn/showproblem.php?pid=6629 题意: 给定一个字符串T; 取子串T[i,len-1]与T[0,len-1]暴力匹配,i∈[1,len-1]; 问需要做多少次字符比较。 分析: 即求扩展KMP的nxt数组; nxt[i]表示T[i,len-1]与T[0,len-1]的最长公共前缀。 代码: #include <bits/s...原创 2019-08-06 10:32:18 · 415 阅读 · 0 评论 -
HDU 3613. Best Reward (扩展KMP/Manacher)
题目: http://acm.hdu.edu.cn/showproblem.php?pid=3613 题意: 给定一个字符串s; 每个字符有一个权值; 砍成两段,若某段为回文串则其价值为各字符的价值和,非回文串则价值为0; 问两段的价值和最大是多少。 分析: 法一: 做完Manacher,枚举砍点就是了。 法二: 设给定字符串为s,将其反转后为t; 以s为文本串,t为模板串跑exKMP,得到ext...原创 2019-08-06 15:12:17 · 359 阅读 · 0 评论 -
HDU 3336. Count the string (KMP-next数组)
题目: http://acm.hdu.edu.cn/showproblem.php?pid=3336 题意: 给定一个串s; 求各个前缀的出现次数之和。 分析: 用KMP求得next数组之后,将next数组中递增的一串数的最后一个加到答案中即可; 别忘了每个前缀自己也算出现了一次。 代码: #include <bits/stdc++.h> using namespace std; ty...原创 2019-08-06 18:49:30 · 337 阅读 · 0 评论