HDOJ 5543 Pick The Sticks (简单DP)
来源:互联网 发布:朱婷 大冠军杯 知乎 编辑:程序博客网 时间:2024/05/16 06:43
you can find this problem in this link
the dynamic programming equation is:
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define ll long longusing namespace std;const int maxn = 50000;ll dp[maxn][3];int len[maxn];int val[maxn];int n,L;int main(){ int ca,cat = 1; cin>>ca; while(ca--) { ll ans = 0; cin>>n>>L; L*=2; for(int i=0;i<n;i++) { cin>>len[i]>>val[i]; len[i]*=2; ans = max(ans,(ll)val[i]); } memset(dp,0,sizeof(dp)); for(int i=0;i<n;i++) { for(int j = L;j>=len[i]/2;j--) { for(int k = 0;k<3;k++) { if(j >= len[i]) { dp[j][k] = max(dp[j][k],dp[j-len[i]][k] + val[i]); } if(k > 0) { dp[j][k] = max(dp[j][k],dp[j-len[i]/2][k-1]+val[i]); } ans = max(ans,dp[j][k]); } } } cout<<"Case #"<<cat++<<": "<<ans<<endl;// for(int i = 0;i<=L;i++)// {// for(int j = 0;j<3;j++)// {// cout<<dp[i][j]<<" ";// }// cout<<endl;// }// cout<<endl; } return 0;}
阅读全文
0 0
- HDOJ 5543 Pick The Sticks (简单DP)
- HDU 5543 Pick The Sticks(DP)
- HDU 5543 Pick The Sticks (DP 01背包)
- HDU 5543 Pick The Sticks【三维dp】
- hdu5544 Pick The Sticks(dp)
- 2015年CCPC D题 Pick The Sticks(DP)
- ccpc Pick The Sticks(dp特殊处理)
- HDU 5543 Pick The Sticks
- hdu 5543 Pick The Sticks
- HDU 5543 Pick The Sticks
- hdu-5543-Pick The Sticks
- UESTC 1218 Pick The Sticks (dp )
- HDU5543 Pick The Sticks [背包dp变形]
- hdu 5543 Pick The Sticks(01背包)
- HDU 5543 Pick The Sticks(0-1背包)
- hdu 5543 Pick The Sticks(01背包)
- hdu 5543 Pick The Sticks 【01背包】
- UESTC Pick The Sticks (背包变形)
- csdn表格
- LeetCode 84. Largest Rectangle in Histogram 单调栈应用
- Tic-Tac-Toe FZU
- android Handler学习笔记
- OPENCV入门之启动摄像头《分水岭算法》
- HDOJ 5543 Pick The Sticks (简单DP)
- Discuz!教程之如果修改或删除回复别人的回帖的时候显示的引用信息
- C++ ofstream和ifstream详细用法
- C语言:实现线性表基本表示(数组元素的删除,插入,合并)
- C++ CFileFind() 查找当前路径下所有文件夹名称
- UGUI检测鼠标进入退出
- 一文带你了解Linux平均负载之谜
- C语言中宏的使用
- 【DL--16】深度学习架构清单