动态规划练习
来源:互联网 发布:混油皮护肤品推荐知乎 编辑:程序博客网 时间:2024/06/06 04:18
参考资料:http://www.hawstein.com/posts/dp-novice-to-advanced.html
硬币问题:
int main(){ int num[3]={1,3,5}; int now=0; int d[15]; for(int i=0;i<=11;i++) d[i]=i; for(int i=0;i<=11;i++){ for(int j=0;j<3;j++){ if(num[j]<=i&&d[i-num[j]]+1<d[i]) d[i]=d[i-num[j]]+1; } } for(int i=0;i<12;i++) printf("%d ",d[i]); printf("\n"); return 0;}
最长非降子序列:
int main(){ int num[6] = {5,3,4,8,6,7}; int d[6]; for(int i=0;i<6;i++) d[i]=1; for(int i=1;i<6;i++){ if(num[i-1]<num[i]) d[i]=d[i-1]+1; else d[i]=d[i-1]; } for(int i=0;i<6;i++) printf("%d ",d[i]); printf("\n"); return 0;}
TopCoder: Zigzag
#include <cstdio>#include <iostream>using namespace std;int main(){ int n,num[105],d[105]; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&num[i]); for(int i=0;i<n;i++) d[i]=1; int m = num[0]; int count=1; for(int i=1;i<n;i++){ if(count){ if(m<num[i]) {d[i]=d[i-1]+1;m=num[i];count=0;} else d[i]=d[i-1]; }else{ if(m>num[i]) {d[i]=d[i-1]+1;m=num[i];count=1;} else d[i]=d[i-1]; } } int maxN = 0; for(int i=0;i<n;i++) maxN = max(maxN,d[i]); cout<<"Result "<<maxN<<endl; return 0;}
TopCoder BadNeighbors:
#include<cstdio>#include<iostream>using namespace std;int n,num[500],sum[500];int getAnswer(int i1,int i2){ if(i1>i2) return 0; sum[i2] = max(getAnswer(i1+1,i2),getAnswer(i1+2,i2)+num[i1]); return sum[i2];}int main(){ scanf("%d",&n); for(int i=0;i<n;i++) {scanf("%d",&num[i]);sum[i]=num[i];} int answer = max(getAnswer(0,n-2),getAnswer(1,n-1)); printf("Answer: %d\n",answer); return 0;}
从这里开始就是使用了递归的动态规划
0 0
- 动态规划小练习
- 动态规划入门练习
- 动态规划练习
- 动态规划练习
- 动态规划练习
- 动态规划入门练习
- 动态规划练习--X()
- 动态规划练习总结
- 动态规划--LIS练习
- leetcode 动态规划练习
- 动态规划练习(1)
- 动态规划(练习题目,)
- 练习3动态规划总结
- 编程练习1:动态规划
- 动态规划练习2--poj3616
- 动态规划练习一 总结
- 动态规划练习--03(采药)
- 动态规划练习-06(登山)
- 《决不能让蠢货主宰我们的命运!-雾满拦江》
- 安卓发短信功能
- 【模拟试题】滑动窗口(BSOI2604)
- USACO 2.2 Preface Numbering
- RHEL7.2 安装Linux 系统下原版 texlive 2016.iso 的安装与配置
- 动态规划练习
- Android 进程间通信之Messenger
- 作为开发者,你都听产品经理的,做的累不累?
- linux下passwd命令设置修改用户密码的方法
- 题目:计算数组中元素出现的次数
- SSM框架打造完整电商平台(四)
- fetch下一代ajax请求数据的封装
- 12Bet Malaysia Online Sign Up Bonus
- vue实例