随笔分类 - 

摘要:http://acm.fzu.edu.cn/problem.php?pid=1914题目大意是序列A(a1,a2,a3......an),序列B(b1,b2,b3......bn),且序列B由序列A生成(bi=a1+a2,+…+ai (1≤i≤n)),若序列B内元素都为正数,则称序列A为一个正序列。现在左移序列A内的元素0,1,2.....n-1次,产生n个新的序列:A(0): a1,a2,…,an-1,anA(1): a2,a3,…,an,a1…A(n-2): an-1,an,…,an-3,an-2A(n-1): an,a1,…,an-2,an-1问{ A(0), A(1), …, A(n- 阅读全文
posted @ 2012-11-09 20:09 CoderZhuang 阅读(251) 评论(0) 推荐(0)
摘要:时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理)排序算法(平方排序算法的应用,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序)数论(整除,集合论,关系,素数,进位制,辗转相除,扩展的辗转相除,同余运算,解线性同余方程,中国剩余定理)指针(链表,搜索判重,邻接表,开散列,二叉树的表示,多叉树的表示)按位运算(and,or,xor,shl,shr,一些应用)图论(图论模型的建立,平面图,欧拉公式与五色定理,求强连通分量,求割点和桥,欧拉回路,AOV问题,AOE问题,最小生成树的三种算法,最短路的三种算法,标号法,差分约束系统,验证二分图 阅读全文
posted @ 2011-04-12 22:39 CoderZhuang 阅读(1200) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3752#include<stdio.h>#include<stdlib.h>main(){ int t,m,n; scanf("%d",&t); while(t--) { scanf("%d%d",&m,&n); if(m%2==1||n>m/2) printf("NO\n"); else printf("YES\n"); } // system("pause&quo 阅读全文
posted @ 2011-03-23 21:59 CoderZhuang 阅读(134) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3750#include<stdio.h>#include<stdlib.h>main(){ double i,j,ans,n,num; while(scanf("%lf",&n)!=EOF) { j=1;i=1;ans=0;num=1; while(num<=n) { ans=ans+i*j*1.0/n; i++; j=j*2; num=num+j; //j=j*2; } if(num>n) ans=ans+i*(j-num+n)*1.0/n; 阅读全文
posted @ 2011-03-23 21:57 CoderZhuang 阅读(130) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3744#include<stdio.h>#include<stdlib.h>main(){ long i,j,flag,t,m,n; scanf("%ld",&t); struct stud { long a,b; }p[300]; while(t--) { scanf("%ld%ld",&n,&m); for(i=1;i<=n;i++) scanf("%ld%ld",&p[i].a,&a 阅读全文
posted @ 2011-03-23 21:52 CoderZhuang 阅读(190) 评论(0) 推荐(0)
摘要:水题!可惜没看清当A中有多个相同结果时,要取最小值,被WA了一次。#include <iostream>using namespace std;int AC(int a,int b){ int n=0; while(a!=0||b!=0) { if(a%2!=b%2) n++; a/=2; b/=2; } return n;}int main(){ int x,y,i,j,A[101],B[101],n,e,f,top; cin>>n; while(n--) { cin>>x>>y; for(i=0;i<x;i++) cin>> 阅读全文
posted @ 2010-11-13 23:38 CoderZhuang 阅读(104) 评论(0) 推荐(0)
摘要:方法一#include<stdio.h>int main(){ int a,b,n; while(scanf("%d %d %d",&a,&b,&n)!=EOF&&(a+b+n)!=0){ int f1=1,f2=1,f3=1,t,r[8][8]={0},i,flag=0,x; for(i=3;i<=n;i++) { f3=(a*f2+b*f1)%7; r[f1][f2]=i; f1=f2; f2=f3; if(r[f1][f2]&&flag==0) { t=i-r[f1][f2]+1; i=r[f1 阅读全文
posted @ 2010-09-08 22:35 CoderZhuang 阅读(134) 评论(0) 推荐(0)
摘要:#include<stdio.h>main(){ int a,c,d,i,j,max; char b[1001][16]; while(1) { max=0; scanf("%d",&a); if(a==0) break; for(i=1;i<=a;i++) scanf("%s",b[i]); for(i=1;i<=a;i++) {c=0; for(j=i+1;j<=a;j++) if(strcmp(b[i],b[j])==0) { c++; } if(c>max) {max=c;d=i;} } printf( 阅读全文
posted @ 2010-09-08 22:16 CoderZhuang 阅读(115) 评论(0) 推荐(0)
摘要:#include <stdio.h>int a,b[100001],sum;int main(){ int t,i,n,j,k,a1,b1,max; scanf("%d",&t); for(j=1;j<=t;j++) { scanf("%d",&n); max=-9999;sum=0; for(i=k=1;i<=n;i++) { scanf("%d",&a); sum+=a; if(max<sum) { max=sum; b1=i;a1=k; } if(sum<0) {sum 阅读全文
posted @ 2010-09-08 22:14 CoderZhuang 阅读(121) 评论(0) 推荐(0)
摘要:#include<string.h>#include <stdio.h>int main(){ char a[1000],b[1000]; char a1[1001],b1[1001],c[1001]; int i,j,k,flag,pos,la,lb; scanf("%d",&k); for(j=1;j<=k;j++) { scanf("%s %s",a,b); la=strlen(a); lb=strlen(b); for(i=0;i<1001-la;i++) { a1[i]='0'; } 阅读全文
posted @ 2010-09-08 22:11 CoderZhuang 阅读(115) 评论(0) 推荐(0)