12 2011 档案
摘要:http://acm.timus.ru/problem.aspx?space=1&num=1353题意:输入一个s,求从1-10^9的数中各位数字之和是s的个数;思路:采用一个0-81的数组记录和为i的个数,然后对每一位都从0-9进行遍历;View Code #include<cstdio>using namespace std;int main(){ int ans[100],temp[100],n,i,j,k; for(i=0;i<100;i++) ans[i]=temp[i]=0; scanf("%d",&n); if(n==1) p
阅读全文
摘要:http://acm.timus.ru/problem.aspx?space=1&num=1081无语了一个简单题花了一个下午才调出来,悲剧啊;题意:给定一个有N个元素的字符串,每个元素都是0或1,且1和1不能相连,问第n个字符串是什么;思路;首先是一个斐波那契数列,然后往下减输出;View Code #include<cstdio>#include<cstring>using namespace std;int s[50];void pp(int i,int num){ if(i<1) return ; if(i<=1) { if(num==1||
阅读全文
摘要:http://poj.org/problem?id=1742背包真的很神奇啊;题意:给你一些硬币,每种硬币有一定的价值和数目,用这些硬币能组合成多少小于s的组合;思路:采用背包,在这里要加一个记录个数的数组num[],这样就变成二维的了,减少了时间;View Code #include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;int main(){ int n,s,ans[100010],num[100010],val[110
阅读全文
摘要:http://acm.sdut.edu.cn/web/problem.php?action=showproblem&problemid=1566这是上个星期测试赛的最后一个题目,那天真是悲剧了,一个也没做出来,;思路:采用VONGONG的思路做的,用bfs搜索来找:View Code #include<cstdio>#include<iostream>#include<algorithm>#include<string.h>using namespace std;int map[55][55];int p(int w){ int temp
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2639题意:给你一些Bone和一个背包体积,求第K大的价值;思路:采用了三维的数组第三维是存(1-k)大的值的:View Code #include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;int val[120],vv[120];int ans[1200][120],a[120],b[120];int main(){ int q,n,v,k
阅读全文
摘要:http://poj.org/problem?id=2264题意:找出一个包含两个字串的最短的串;思路:先找出两个字符串的LCS,然后构造目标字符串。例如,有两个字符串 apple pffeach 这两个字符串的LCS是P E 那么分别找出P,E在两个字符串的位置,再将不属于LCS的字符插进来,就变成了: (a) P (pl) (ff) E (ach)View Code #include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){ char a[105]
阅读全文
摘要:http://poj.org/problem?id=1159题意:给一个长度为n的串,求将其变成回文要增加的最少字符数.思路:LCS算法:状态方程:if(a[i]==b[j]) ans[i][j]=max1(ans[i-1][j-1]+1,ans[i-1][j],ans[i][j-1]); else ans[i][j]=max(ans[i-1][j],ans[i][j-1]);二维数组的形式(必须用short,否则超内存):View Code #include<cstdio>#include<algorithm>#include<cstring>using
阅读全文

浙公网安备 33010602011771号