题目链接

http://acm.hdu.edu.cn/showproblem.php?pid=2546

这题是我的0-1背包开山第一题 对于0-1背包还不是很理解:

0-1背包的一帮形式

int dp[MAX_W+1]//DP数组

void solve()
{
for(int i=0;i<n;i++)
{
for(int j=w;j>=w[i];j--)
{
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
}
}
printf("%d\n",dp[w]);
}

对于0-1背包我的理解,其实0-1背包就是递归的变化;

对于这个题目就是0-1背包  但是要有一点小小的变换  就是 要想 使卡里的钱最少 我先预留5 元 到最后去买最贵的菜,用m-5 进行0-1背包

代码

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;

int main(void)
{
int i,j,k,n,m;
int price[1010];
int dp[1010];
while(scanf("%d",&n)==1&&n)
{
memset(dp,0,sizeof(dp));
for(i=1;i<=n;i++)
scanf("%d",price+i);
scanf("%d",&m);
if(m<5)
{
printf("%d\n",m);
continue;
}
m=m-5;
sort(price+1,price+n+1);
int Max=price[n];
for(i=1;i<n;i++)
{
for(j=m;j>=price[i];j--)
{
dp[j]=max(dp[j],dp[j-price[i]]+price[i]);
}
}
printf("%d\n",m+5-dp[m]-Max);
}
return 0;
}

这是一个很好的0-1背包题

转载于:https://www.cnblogs.com/liudehao/p/4093609.html

HDU-2546-饭卡相关推荐

  1. HDU 2546 饭卡(01背包裸题)

    饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  2. HDU 2546 饭卡 01背包变形

    饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  3. hdu 2546 饭卡【贪心+01背包基础题】

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=2546 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  4. hdu 2546 饭卡(P01-背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546 转载请注明出处:http://blog.csdn.net/u012860063 饭卡 Time ...

  5. HDU 2546 饭卡(贪心+DP)

    题目链接 几个月之前做的一个题了,开始想时就看出应该是个01背包问题,又发现不太一样,貌似应该是有种贪心策略,把最大的挑出来最后还有5块钱的再买,剩下的体积用01背包去求最优选择,当时WA了3次,以为 ...

  6. HDU——2546 饭卡

    Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负) ...

  7. hdu 2546 饭卡——一道简单的 01背包

    今天讲的是动态规划,学长们拉了13道题让我们做一下,一下午大概4小时,做了5道题(还是太弱了 摊手) 题意: 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上 ...

  8. Hdu 2546 饭卡

    饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  9. hdu 2546 饭卡【01背包】

    题目链接:https://vjudge.net/contest/103424#problem/C 饭卡                                Time Limit: 5000/ ...

  10. hdu 2546 饭卡(01背包)

    题意:只要最后留下的钱够5元,就可以买下最贵的食物,使得余额最低,其他的钱的使用就是一个最大背包问题了. 代码: #include<iostream> #include<cstrin ...

最新文章

  1. R包dplyr进行数据清洗和整理
  2. 农行计算机安全制度,制度体系之农行 数据中心计算机安全检查实施细则.doc
  3. mac golang grpc proto pb文件生成go文件.md
  4. 如何清除Windows共享登录的用户名密码记录
  5. 安卓设备刷linux发行版,绝对精华,大牛教你在Android系统上安装linux发行版
  6. Kernel中如何操作CPU及外设寄存器
  7. 进程间内存共享问题[转]
  8. 面试题:MySQL的innodb和myisam
  9. 深度学习(四十)caffe使用点滴记录
  10. 《移山之道-VSTS软件开发指南》---读书笔记
  11. 给定一个整数序列,求中位数
  12. 如何处理苹果Mac冻结和无响应的应用程序?
  13. 关于semantic-ui的cdn失效问题(怎样通过本地引用semantic-ui)
  14. 05《基于深度卷积神经网络的车型识别研究》学习总结
  15. mysql统计分组求和
  16. java企业通用模块_[模板风格]WordPress企业主题Start通用响应式强大模块化wordpress-无...
  17. Spring Boot 事务详解
  18. 迪杰斯算法c语言,欧博体育APP-欧博体育APP
  19. 限期4个月:苹果严控版号,开发者将如何自救?
  20. python机器学习实践和kaggle实践

热门文章

  1. 3D数学基础:图形与游戏开发---随笔四
  2. CString::Format
  3. Java8新特性之stream的详细用法
  4. DM368开发 -- 制作ubifs文件系统
  5. AndroidAsync
  6. 10 Lessons Learned Doing ICOs
  7. 【David Silver强化学习公开课】-4:Model-Free Prediction
  8. Android mediaRecorder框架简述(二)
  9. Android6.0源码分析—— Zygote进程分析(补充)
  10. GCC 关键字inline探究