随笔分类 -  动态规划

最大连续子序列
摘要:#include #include #include using namespace std; int k,s[10010]; void MCS() //用dp表示是dp[i+1]=max(dp[i]+s[i+1],s[i+1]);转移方程 { int l=0,ll=0,rr=0; int sum=-100000,mx=-100000; for(int i=0;i... 阅读全文

posted @ 2016-05-31 17:59 青春的梦想付诸行动 阅读(120) 评论(0) 推荐(0)

台阶问题练习题 (简单的dp)
摘要:题目: 有n级台阶,一个人每次上一级或者两级,问有多少种走完n级台阶的方法。为了防止溢出,请将结果Mod 1000000007 给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。 测试样例:1 返回: 1 到达n台阶时,可以有两种方法到达n台阶,只需走一级就可以上 阅读全文

posted @ 2016-05-12 18:47 青春的梦想付诸行动 阅读(346) 评论(0) 推荐(0)

又见01背包
摘要:1 #include <cstdio> 2 #include <algorithm> 3 #include <cmath> 4 using namespace std; 5 int dp[10001]; 6 int v[105],w[105]; 7 int main() 8 { 9 int n,W, 阅读全文

posted @ 2016-04-25 21:12 青春的梦想付诸行动 阅读(124) 评论(0) 推荐(0)

01串
摘要:1 #include <cstdio> 2 using namespace std; 3 4 int dp[45]; 5 int main() 6 { 7 int n,m; 8 dp[2]=3; 9 dp[1]=2; 10 for(int i=3;i<41;i++) 11 dp[i]=dp[i-1] 阅读全文

posted @ 2016-04-25 17:15 青春的梦想付诸行动 阅读(132) 评论(0) 推荐(0)

导航