
字符串
sepNINE
it is written
展开
-
poj 2973 无序字符串含通配符的匹配
题意:求两个字符串无序含通配符的原创 2014-11-23 22:37:23 · 1056 阅读 · 0 评论 -
poj 2491 Scavenger Hunt 字符串离散化
题意:乱序给出一条有n个结点的路径上的每对前前驱结点和后继结点,求原路径。分析:水题,直接保存每个结点的后继结点,然后找到开始结点遍历一遍输出就可以了,值得说说的是怎么用map来进行字符串离散化,即把一个字符串和一个整数对应,并给出整数能找到相应的字符串,请参考程序。代码://poj 2491//sep9#include #include #include using原创 2014-12-01 14:05:22 · 1002 阅读 · 0 评论 -
poj 2945 Find the Clones trie树的简单应用
题意:给n个长m的字符串,统计他们的出现频率,输出出现1次的有几种,出现2次的有几种...出现n次的有几种。n分析:也可以用排序,map水的,但还是写个trie树也不麻烦,trie树我就得就是针对字符串的hash表,效率如果数据大点是比暴力解法高很多的,另外写的时候不小心把index定义成char,n代码://poj 2945//sep9#include using na原创 2015-07-05 12:16:59 · 697 阅读 · 0 评论 -
poj 3974 Palindrome 裸的最长回文子串Mancher算法O(n)
//poj 3974//sep9#include using namespace std;const int MAXN=1000024; char a[MAXN],b[2*MAXN];int p[2*MAXN];int main(){ int cases=0; while(scanf("%s",a)==1&&a[0]!='E'){ int i=0,j=0; b[j++]原创 2015-10-16 13:46:29 · 557 阅读 · 0 评论 -
poj 1147 Binary codes bwt压缩算法
题意:bwt压缩算法的解压过程。分析:利用前缀排序去掉相同前缀相对顺序不变的性质。bwt压缩算法代码://poj 1147//sep9#include #include using namespace std;int n;int last[3012],ans[3012];int main(){ int sum_zero=0; scanf("%d",&n);原创 2015-11-05 09:52:26 · 621 阅读 · 0 评论 -
poj 1782 Run Length Encoding 自动机处理字符串
题意:给一个字符串,要将它按规则转化为新字符串,规则有1)重复的比如aaaa转化为4a,如果重复次数超过9分开处理。2)不重复的片段在两端加1输出,如234输出1234,如果不重复片段中有1则加1个1输出,如2134输出1211341。分析:用自动机处理比较简单,自动机是一种能规范分支讨论的方法,而且自动机能帮助构建逻辑且代码简洁不易出错。代码://poj 1782//sep原创 2015-09-20 20:12:54 · 957 阅读 · 0 评论 -
poj 3690 Constellations 二维滚动哈希匹配
//poj 3690//sep9#include #include using namespace std;typedef unsigned long long ull;const int MAXN=1024;const int MAXT=128;const int MAXP=64;const int B1=9973;const int B2=100000007;char原创 2015-10-15 00:07:48 · 697 阅读 · 0 评论 -
poj 1951 Extra Krunch 字符串处理水题
//poj 1951//sep9#include using namespace std;bool vis[256];char str[1024],ans[1024];int main(){ gets(str); memset(vis,0,sizeof(vis)); int cur=0; for(int i=0;i<strlen(str);++i){ if(str[i]原创 2016-10-07 05:04:30 · 914 阅读 · 0 评论