杭电-2546 饭卡(01背包)
来源:互联网 发布:错生网络剧百度云 编辑:程序博客网 时间:2024/06/04 20:49
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546
状态转移方程:
dp[i][j]=max(dp[i-1][j],dp[i-1][j-c[i]]+w[i]);
思路 : 小于5元时可以直接输出,大于5元的时候,先拿出5元买最贵的菜,然后求剩下的钱的最大支出。最后用余额减去这些支出就得出结果啦
代码:
#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>using namespace std;int dp[1100];int price[1100];int main(){ int n; while(scanf("%d",&n)!=EOF) { if(n==0) break; for(int i=0;i<n;i++) scanf("%d",&price[i]); memset(dp,0,sizeof(dp)); int left; scanf("%d",&left); if(left<5) { printf("%d\n",left); continue; } sort(price,price+n); for(int i=0;i<n-1;i++) { for(int j=left-5;j>=price[i];j--) { dp[j]=max(dp[j],dp[j-price[i]]+price[i]); } } printf("%d\n",left-dp[left-5]-price[n-1]); } return 0;}
0 0
- 杭电 2546 饭卡(01背包)
- 杭电2546饭卡(01背包)
- 杭电-2546 饭卡(01背包)
- 【杭电2546】饭卡--01背包
- 【杭电oj】2546 - 饭卡(01背包)
- 杭电2546 饭卡 (变形0-1背包)
- 01背包的应用--杭电2546
- 杭电OJ 2546 01背包问题
- 杭电1171(01背包+完全背包)
- 杭电-2191 (完全背包转换01背包)
- 01背包基础 (杭电2602)
- 杭电ACM5543(01背包)
- 杭电ACM2546(01背包)
- 杭电ACM3466(01背包)
- 杭电2955Robberies(01背包)
- 杭电 2602 01 背包
- 杭电1494---01背包。
- 杭电2602---01背包
- 打印调试工具
- dota回忆录
- Prim求无向连通图最小生成树
- coding git 初始化与项目远程连接(二)
- Servlet监听器,统计网站在线人数实例
- 杭电-2546 饭卡(01背包)
- 关于 Arraylist和HashSet中元素比较的问题所引发的思考
- PHP进阶(五)——文件操作
- docker容器资源配额控制
- JAVA打印文件目录
- Java8使用lambda表达式写的一个List,Set,Map遍历工具类
- nodejs连接mysql数据库支持事物封装-mysql模块
- HDU5573 Binary Tree(构造)
- 下载zip文件并解压