字符串
cadongllas
这个作者很懒,什么都没留下…
展开
-
hdu 1711 Number Sequence kmp模板
给两个序列,问第二个在第一个出现了多少次kmp模板不解释#include #include #include #include #include #include #define rep(i, j, k) for(ll i = j; i <= k; i++)#define ll long long#define maxn 1000009#define inf 0x原创 2016-09-09 15:27:09 · 186 阅读 · 0 评论 -
codeforces 195C Try and Catch 字符串处理
字符串题目,题目给出一系列try - catch (xxx, "..."),表示在这个区间中找输出为xxx的部分,如果找到则输出相应的内容,问最终的屏幕输出用类似栈的思想,这样就只需要处理跟结果有关的字符串,然后就是注意空格啥的#include #include #include #include #include #include #define rep(i, j原创 2016-09-07 11:15:19 · 344 阅读 · 0 评论 -
codeforces 190C STL 字符串处理+栈思想
给一个pair的嵌套声明去掉标点的字符串,然后让你加上标点使得新的字符串符合语法规则整体递归的思想,注意要将pair 作为一个整体 #include #include #include #include #include #include #include #include using namespa原创 2016-09-07 01:09:08 · 464 阅读 · 0 评论 -
uva401 镜像字符串
题意:输入一串字符串,判断是回文字符,还是镜像字符,还是镜像字符,还是两者都不是首先把所有镜像字符都预处理出来,然后保存到数组里,最后暴力判断即可#include #include #include #define rep(i, j, k) for(int i = j; i <= k; i++)#define MAXN 50using namespace std;c原创 2016-09-03 10:31:15 · 633 阅读 · 0 评论 -
POJ 3080 Blue Jeans
求n个长度为60的字符串的最长连续公共子串直接暴力枚举第一个串的每个子串,然后判断是否是后面串的子串即可kmp的简单应用#include #include #include #include #define rep(i, j, k) for(int i = j; i <= k; i++)using namespace std;int nex[100];原创 2016-09-11 21:04:32 · 244 阅读 · 0 评论 -
POJ 2752 Seek the Name, Seek the Fame
给定一个字符串s,从小到大输出s中既是前缀又是后缀的子串的长度从最后一位开始回溯,若s[next[n-1]] == s[n-1],则子串s[0,1,2,...,next[n-1]]是满足条件的子串。然后判断s[next[next[n-1]]] == s[n-1]是否成立,这样一直回滚,直到next[next[.....next[n-1]]] == -1停止,就可以算出所有符合条件的解原创 2016-09-11 21:01:33 · 181 阅读 · 0 评论 -
POJ 2406 Power Strings
给定一个字符串,让你求出他最多由几个相同的连续子串连接而成还是用n - next[n]求出循环节,但是有个比较坑的地方就是一定要判断循环节的长度能否整除总长度#include #include #include #include #define rep(i, j, k) for(int i = j; i <= k; i++)#define maxn 1000009原创 2016-09-11 20:48:28 · 271 阅读 · 0 评论 -
HUST 1010 The Minimum Length
有一个字符串s,一次次的重写s,会得到一个新的字符串sssss.....,现在将这个字符串从中切去一部分得到一个字符串t直接用n - next[n] 求循环节即可#include #include #include #include #define rep(i, j, k) for(int i = j; i <= k; i++)#define maxn 1000009原创 2016-09-11 20:36:18 · 298 阅读 · 0 评论 -
HDU 1358 Period kmp
一个字符串,从头到某个位置,字符串的前缀最多重复了多少次用next数组做,对于每个位置用i - next[i]求出当前可能的循环长度,然后看能否整除即可#include #include #include #include #define rep(i, j, k) for(int i = j; i <= k; i++)#define maxn 1000009using原创 2016-09-10 23:27:22 · 288 阅读 · 0 评论 -
hdu 3746 Cyclic Nacklace kmp
给一个字符串,问在首位最少添加多少个字符能使得原字符串循环需要理解next数组,画个图理解就好,用n - next[n]求出循环节然后输出len % p#include #include #include #include #define rep(i, j, k) for(int i = j; i <= k; i++)#define maxn 100009using原创 2016-09-09 15:41:51 · 238 阅读 · 0 评论 -
hdu2087 剪花布条 kmp
给定一段长布条,然后给一个短布条,问从长的上能减下来几段短的布条还是kmp要注意的是,匹配位置是不能重叠的,所以匹配后,指针需要清零#include #include #include #include #include #include #define rep(i, j, k) for(ll i = j; i <= k; i++)#define ll long lo原创 2016-09-09 15:34:03 · 274 阅读 · 0 评论 -
hdu 1686 Oulipo kmp
给两个字符串,问第一个在第二个出现了多少次kmp#include #include #include #include #include #include #define rep(i, j, k) for(ll i = j; i <= k; i++)#define ll long long#define maxn 1000009#define inf 0x7fff原创 2016-09-09 15:28:53 · 312 阅读 · 0 评论 -
codeforces 200D Programming Language 字符串处理
字符串题,基于cpp模板的声明,先声明了n个函数原型,其中T代替任何数据类型,然后给了m种变量的声明,又给了k 个函数的声明,用的是之前那m个变量,问每个函数分别能匹配多少个函数原型先是字符串处理,然后暴力循环,用变量类型替换变量名,直接判断是否匹配然后统计答案即可#include #include #include #include #include #include #原创 2016-09-07 20:17:22 · 348 阅读 · 0 评论