数据结构—后缀数组
Vimmone
这个作者很懒,什么都没留下…
展开
-
poj2774Long Long Message-后缀数组
题意:给你两串字符,要你找出在这两串字符中都出现过的最长子串......... #include #define r 200001 int s[r],a[r],h[r],c[r],e[r],f[r],b[r]; void getsa(int n,int m) { int i,j,p; int *x=e,*y=f,*t; for(i=0;i<m;i++) b[i]=0;原创 2016-07-16 12:00:38 · 296 阅读 · 0 评论 -
poj3450Corporate Identity-后缀数组
题意:求多个字符串的最长公共子串 #include #include #define r 805000 char str[201],ans[201]; int s[r],a[r],b[r],c[r],e[r],id[r],f[r],h[r],visit[4001]; void getsa(int n,int m) { int i,j,p,*x=e,*y=f,*t; for(i=0原创 2016-07-16 18:23:25 · 390 阅读 · 0 评论 -
poj3294Life Forms-后缀数组
题意:输入n个DNA序列,你的任务是求出一个长度最大的字符串,使得它在超过一半的DNA序列中连续出现。如果有多解,按照字典序从小到大输出所有解。 【输入格式】 输入包含多组数据。每组数据第一行为DNA串的个数n(1 【输出格式】 对于每组数据,输出所有解,按照字典序从小到大排列。如果无解,输出一行”?”(不包含引号) 解法:把字符串用不同的字符连接起来(所有的用于连接的字符都不同原创 2016-07-18 17:45:51 · 209 阅读 · 0 评论