摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;char str1[210];int num1;char str2[210];int num2;char ans[500];int num;bool d[210][210];int main(){ int np=1; int i,j; int n; scanf("%d",&n); getchar 阅读全文
posted @ 2012-08-06 20:36 willzhang 阅读(150) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;char str1[110];char str2[110];int num1;int num2;int d[110][110];#define MAX -65530void init(){ int i,j; for(i=0;i<=num1;i++) { for(j=0;j<=num2;j++) { d[i][j 阅读全文
posted @ 2012-08-06 19:04 willzhang 阅读(122) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;int d[2][5010];char str1[5010];char str2[5010];int num1;int num2;int n;int main(){ while(scanf("%d",&n)!=EOF) { scanf("%s",str1); int i,j= 阅读全文
posted @ 2012-08-06 15:47 willzhang 阅读(199) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>using namespace std;char text1[110][32];int num1;char text2[110][32];int num2;char ans[110][32];int len;#define left 1#define up 2#define upleft 3int d[110][110];int b[110][110];void dp(int l1,int l2){ if(s 阅读全文
posted @ 2012-08-06 09:56 willzhang 阅读(169) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;char str1[1000];int l1;char str2[1000];int l2;int result[1000][1000];void dp(int n1,int n2){ if(str1[n1-1]==str2[n2-1]) { if(result[n1-1][n2-1]==-1) { dp(n1-1,n2. 阅读全文
posted @ 2012-08-05 20:39 willzhang 阅读(121) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;int d[50][2];void dp(int n,int i)//求n位数尾数为i的满足条件的数{ if(i==1) { if(d[n-1][0]==-1) { dp(n-1,0); } d[n][i]=d[n-1][0]; } if(i==0) { if(... 阅读全文
posted @ 2012-08-05 12:18 willzhang 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 纯打表。。。#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;int a[500200];bool hash[3012500];void init(){ memset(hash,false,sizeof(hash)); a[0]=0; int i; for(i=1;i<500200;i++) { a[i]=a[i-1]-i; if(!(a[i]>0&& 阅读全文
posted @ 2012-08-04 22:22 willzhang 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 我是不是可以把这题理解为直接给出状态转移方程的DP问题#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;int d[100][100][100];bool check(int a,int b,int c){ if(a<=0||b<=0||c<=0) { return true; } return false;}void dp(int a,int b,in 阅读全文
posted @ 2012-08-04 19:55 willzhang 阅读(240) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>int n;int d[100][100];int map[100][100];void dp(int i,int j){ if(i==n-1) { d[i][j]=0; return; } if(d[i+1][j]==-1) { dp(i+1,j); } if(d[i+1][j+1]==-1) { dp(i+1,j+... 阅读全文
posted @ 2012-08-04 18:04 willzhang 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 黑书上的方块消除#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;int n;struct node{ int len; int color;};node p[220];int pnum;int a[220];int d[220][220][220];int found(int m,int i){ int j; for(j=i;j<=m-1;j++) { if(p[ 阅读全文
posted @ 2012-08-04 12:48 willzhang 阅读(211) 评论(0) 推荐(0) 编辑