随笔分类 - ACM---字符串
摘要:先说一下正则表达式 %*[a-z]表示忽略前面的小写字符,%[0-9]表示把紧接着非字符的连续数字存入t字符串中去; 从"abc123de4f"中得到"123"; 从"Abc12.3de4f"中得到"12.3" 从"2442932358@qq.com"中得到"@qq.com" 从"244293235
阅读全文
摘要:Kmp就是求子串在母串中的位置等相关问题;当然KMP最重要的是Next数组,也称失败数组,Next[i]代表的意思是子串 sub 从sub[0] 到 sub[i-1]的前缀和后缀的最大匹配。模拟KMP实现过程:用两个指针 i 和 j 分别指向母串和子串,当Mum[i]=sub[j]时 i++,j++
阅读全文
摘要:市面上最常见的魔方,是三阶魔方,英文名为Rubik's Cube,以魔方的发明者鲁比克教授的名字命名。另外,二阶魔方叫Pocket Cube,它只有2*2*2个角块,通常也就比较小;四阶魔方叫Revenge Cube,这是因为就算你好不容易复原了三阶魔方,四阶魔方也会向你“复仇”;而五阶魔方叫Pro
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5311题意:从给出的串 s 中找到3个子串然后把他们连在一起问是否能够成anniversary#include#include#include#include#includeusing namespace...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5442打比赛的时候还没学kmp更没有学最大最小表示法,之后做完了kmp的专题,学了它们,现在再来做这道题,断断续续做了一段时间最终还是对了;题意:就是有一个甜圈由n个部分组成,每部分的甜度由一个小写字母来...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3065模板题,没什么好说的。。。#include#include#include#includeusing namespace std;const int N = 2e6+10;int a[1100];c...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896 输入的字符是所有可见的ASCII码(共有127个)所以要注意一下; 把结果存到一个数组中,然后输出; ac自动机详解:http://www.cnblogs.com/zhengguiping--98
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过;本题就是最基础的模板;在此之前需要理解kmp和字典树(trie);Trie树有3个基本性质:(1)根...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4763题意就是求s串中满足EAEBE格式的E的最大长度;我们可以枚举前缀和后缀的所有匹配(k)看是否在s[k,len-k]中;如果不在它中间那么就让k=Next[k],刚开始想的是k--;但是这样循环次数...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3294 给出一个字符串和加密的字符规律 例如 c abcba c代表把串中的c改成a,d改成b... b改成z,a改成y... 即上串是yzazy,然后求出它的最长回文子串, 并记录子串的开始下标和结束下
阅读全文
摘要:题目链接:http://poj.org/problem?id=3974 和hdu上的最长回文题一样,manacher的模板题 #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; const int
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 题意很清楚:就是求一个串s的子串中最长回文串的长度;这类题用到了manacher算法 #include<stdio.h> #include<string.h> #include<algorithm
阅读全文
摘要:题目链接:http://acm.fzu.edu.cn/problem.php?pid=1901 给你一个字符串 s 求出所有满足s[i] == s[i+p] ( 0 < i+p < len )的 p ; kmp中Next[i] 表示前i个字符的前缀和后缀的最大匹配 s[0--x] == s[i-x-
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3374 题意很简单,输出的是最小字典序的编号,最小字典序个数,最大字典序编号,最大字典序个数。 可以想一下因为是循环移动的, 所以最大字典序个数和最小字典序个数相等=循环节; 本题有一个最大最小表示法:
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4300 题意就是给你26的字母的加密方式,然后又给了一个串s1是包含加密后的和没有加密的但是没有加密的可能不齐全;求完整的密文和原文; 例如第二个例子: abcdefghijklmnopqrstuvwxy
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3336 题意就是求串s的前缀的个数和; 例如:abab 前缀 个数 a 2 ab 2 aba 1 abab 1 总数:6 dp[i] 表示前面的字符以s[i-1]结尾的前缀个数;上列中dp[4]=2(以最
阅读全文
摘要:题目链接:http://poj.org/problem?id=3080 题意就是求n个长度为60的串中求最长公共子序列(长度>=3);如果有多个输出字典序最小的; 我们可以暴力求出第一个串的所有子串,然后判断是否是其他的子串即可; #include<iostream> #include<stdio.
阅读全文
摘要:题目链接:http://poj.org/problem?id=2752 题意就是求出是已知s串的前缀的长度x,并且要求此前缀也是s串的后缀;求出所有的 x ; Next【i】的含义是前i个元素的前缀和后缀的最大匹配; 所以本题就很简单了。。。 #include<stdio.h> #include<i
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1358 题意 :求给你个串,前i位子串由某个字符串重复k次得到,求所有的i和k(k>1); 例如: aabaabaabaab 前2个字符由2个a构成; 前6个字符由2个aab构成; 前9个字符由3个aab
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 给你一个字符串,让你在后面加尽量少的字符,使得这个字符串成为一个重复串。 abca 添加bc,成为abcabc abcd 添加abcd,成为abcdabcd aa 无需添加 经典的求最小循环节。
阅读全文

浙公网安备 33010602011771号