2011年7月7日

摘要: 。。。忘的太多了。。开始复习DP。。。最大连续子序列 两个方法 法1:状态转移方程:sum[i]=max(sum[i-1]+a[i],a[i]);最后从头到尾扫一边#include<stdio.h>int n;int a[10000];struct Tdp { int head; int tail; int sum;} dp[10000];int max(int a,int b){ return a>b? a:b;}int main(){ while (scanf("%d",&n),n) { for (int i=0; i<n; i++) s 阅读全文
posted @ 2011-07-07 12:52 Eucalyptus 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 很久不做题了。。早上找状态。。水一个DFS(15MS):#include<stdio.h>int N,M;char map[200][200];char c;int ai,aj,ri,rj;int min;int mintime[200][200];int move[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; //0:x, 1:yint inarea(int x,int y){ return x>=0 && y>=0 && x<N && y<M && map[x][y] 阅读全文
posted @ 2011-07-07 08:49 Eucalyptus 阅读(194) 评论(0) 推荐(0) 编辑

2011年7月5日

摘要: #include<stdio.h>int ncase,n,p;int main(){ while (scanf("%d",&n),n) { p=1; for (int i=0; i<n; i++) { p*=n; p%=9; } if(p) printf("%d\n",p); else printf("9\n"); }} 阅读全文
posted @ 2011-07-05 17:22 Eucalyptus 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 。。。啊啊啊。。崩溃啊,,半个月不刷题的下场就是这样么= =!!、?#include<stdio.h>#include<string.h>int nz,nr; //nz:地区数目 nr:公交线路数目int zone[10000][10]; //存图int route[10][20]; //存路径int res[10000]; //存结果int visit[10000];int queue[10000];void bfs(int p){ int head=0,tail=0; queue[tail]=p; visit[queue[tail++]]=1; res[queue[ 阅读全文
posted @ 2011-07-05 16:06 Eucalyptus 阅读(216) 评论(0) 推荐(0) 编辑