摘要: 求最大的公共前缀;用后缀数组做;其实暴力也可以过; 1 #include 2 #include 3 #include 4 #define maxn 2009 5 using namespace std; 6 7 int s[maxn]; 8 int sa[maxn],t[maxn],t2[maxn],c[maxn],n; 9 10 void build_sa(int m) 11 { 12 int *x=t,*y=t2; 13 for(int i=0; i=0; i--)sa[--c[x[i]]]=i; 17 for(int k=1; k=k)y[p... 阅读全文
posted @ 2013-11-13 23:14 Yours1103 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 非常容易的一个题;只要判断两种基因相差的最小值就行; 1 #include 2 #include 3 #include 4 using namespace std; 5 6 bool a[105],b[105]; 7 int x,y; 8 9 int main()10 {11 int n,ca=1;12 while(scanf("%d",&n)==1)13 {14 memset(a,0,sizeof a);15 memset(b,0,sizeof b);16 bool flag=0;17 while(n... 阅读全文
posted @ 2013-11-13 23:12 Yours1103 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 模拟题;比赛的时候忘记把1变成64位的1了,跪了好久; 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 unsigned long long val[250]; 8 int num[250]; 9 mapmp;10 char s[100];11 char jkl[111];12 int main()13 {14 int d,b,v;15 while(scanf("%d%d",&b,&v)!=EOF)16 {17 mp.clear();18 fo... 阅读全文
posted @ 2013-11-13 23:11 Yours1103 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 大水题,不解释啦! 1 #include 2 #include 3 #define maxn 50 4 using namespace std; 5 6 char s[maxn],t[maxn]; 7 8 int main() 9 {10 int tt,ca=1;11 scanf("%d",&tt);12 getchar();13 while(tt--)14 {15 gets(s);16 gets(t);17 int l1=strlen(t);18 int l2=strlen(s);19... 阅读全文
posted @ 2013-11-13 23:09 Yours1103 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 最小生成树,然后看他有多少个连通分量,每个连通分量有个飞机场,最后看所有剩下的边是否有大于飞机场的费用,有的话,改成飞机场;比赛的时候一直没想明白,╮(╯▽╰)╭; 1 #include 2 #include 3 #include 4 #define maxn 100009 5 using namespace std; 6 int n,m,a; 7 struct edge 8 { 9 int u,v,w;10 bool operator=a)53 {54 num++;55 ans-=pen[... 阅读全文
posted @ 2013-11-13 23:08 Yours1103 阅读(343) 评论(0) 推荐(0) 编辑