2011年5月4日
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2717从N到K,N可以N+1,N-1,N*2这三种方式前进,找到K为止!至少需要多少次前进!题目挺水的,一刻钟敲完后,测试啊数据都正确,MD总是报Runtime Error(ACCESS_VIOLATION)这是什么鸟啊???看了别人的报告后,发现自己的BFS写的如此之烂... ...#include<iostream>#include<algorithm>using namespace std;#include<queue>const int MAX = 200001;i 阅读全文
posted @ 2011-05-04 19:49 geeker 阅读(372) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1579很水的一道小题儿,一开始算dp[][][]的时候顺序随便按照i,j,k一次递增的顺序进行,后来发现不可以~而且每一个dp到底需要哪些之前的dp也不是很容易看出来,还是用递归的顺序加上记忆搜索就简化许多一开始的错误代码 :#include<iostream>using namespace std;int dp[21][21][21];int main(){ for(int i=0;i<=20;i++) for(int j=0;j<=20;j++) dp[0][i][j]=dp[i][0][j]=dp[i][j][ 阅读全文
posted @ 2011-05-04 01:47 geeker 阅读(179) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1887题目很基础,就是求 最长减子数列dp[i]=max{ max{dp[j]+1(arr[i]<arr[j] ; 1<=j<i )} , 1 }#include<iostream>using namespace std;const int MAX = 100000;int index;int dp[MAX];int arr[MAX];int main(){ int cin1; int t=1; while(scanf("%d",&cin1)&&cin1!=-1){ 阅读全文
posted @ 2011-05-04 00:57 geeker 阅读(294) 评论(0) 推荐(0) 编辑