给出物品数量N和总钱数M

对于N个物品。每一个物品有其花费p[i], 特殊值q[i],价值v[i]

q[i] 表示当手中剩余的钱数大于q[i]时,才干够买这个物品

首先对N个物品进行 q-p的排序,表示差额最小的为最优。优先考虑放入这个物品

然后01背包计算

#include "stdio.h"
#include "string.h"
#include "algorithm"
using namespace std;int inf=0x3f3f3f3f;struct node
{int p,q,v;
}a[510];
int dp[5010];
int Max(int a,int b)
{if (a<b) return b;else return a;
}bool cmp(node a,node b)
{return a.q-a.p<b.q-b.p;
}int main()
{int n,m,i,j,ans;while (scanf("%d%d",&n,&m)!=EOF){for (i=1;i<=n;i++)scanf("%d%d%d",&a[i].p,&a[i].q,&a[i].v);memset(dp,0,sizeof(dp));dp[0]=0;sort(a+1,a+1+n,cmp);for (i=1;i<=n;i++)for (j=m;j>=a[i].q;j--){if (dp[j-a[i].p]+a[i].v>dp[j] )dp[j]=dp[j-a[i].p]+a[i].v;}ans=0;for (i=0;i<=m;i++)ans=Max(ans,dp[i]);printf("%d\n",ans);}
}

转载于:https://www.cnblogs.com/clnchanpin/p/6816489.html

HDU 3466 01背包变形相关推荐

  1. hdu 2184 01背包变形

    转自:http://blog.csdn.net/liuqiyao_01/article/details/8753686 题意:这是又是一道01背包的变体,题目要求选出一些牛,使smartness和fu ...

  2. codeforce Gym 101102A Coins (01背包变形)

    01背包变形,注意dp过程的时候就需要取膜,否则会出错. 代码如下: #include<iostream> #include<cstdio> #include<cstri ...

  3. P1734 最大约数和 01背包变形

    传送门 思路:01背包变形题.将i看成重量,i的因子看成价值即可.背包自然是s. /** * From: * Qingdao Agricultural University * Created by ...

  4. HDU 2546 饭卡 01背包变形

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

  5. hdu 3732(01背包转多重背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3732 思路:这么大的数据,用01背包肯定会TLE的,01背包转多重背包..最多也就11*11=121件 ...

  6. hdu 2955 01背包

    http://acm.hdu.edu.cn/showproblem.php?pid=2955 如果认为:1-P是背包的容量,n是物品的个数,sum是所有物品的总价值,条件就是装入背包的物品的体积和不能 ...

  7. 2022-9-2何以包邮(01背包变形)(c/c++实测满分)

    总结:         此题是背包问题的变形,物品的价值和重量有所改变,背包的容量限制有所改变,但核心动态规划求法没有改变.只需要在背包问题的解法上根据题意对物品表示,答案输出进行改变即可. 背包算法 ...

  8. poj 2063 Investment(01背包变形)

    http://poj.org/gotoproblem?pid=2063 (1)上限 m 一直上升的 n 次01背包问题,比一般的01背包多了一重循环: (2)本题出现了各种错误:1)刚开始,没注意 m ...

  9. hdu 1574(01背包)

    RP问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Des ...

最新文章

  1. 高频面试考点:Redis中有几百万数据量,如何进行高效访问?
  2. 李开复对话彭特兰:AI 不是单打独斗,应避免 AI 冷战!
  3. 【Linux 内核 内存管理】RCU 机制 ③ ( RCU 模式下添加链表项 list_add_rcu 函数 | RCU 模式下删除链表项 list_del_rcu 函数 )
  4. 《Docker——容器与容器云》:第一章 从容器到容器云
  5. java垃圾回收机制(简述)
  6. php.ini 中文详解
  7. 简洁大气自适应后台登录模板单页源码
  8. Net-snmp开发流程:MG-SOFT套件生成C语言snmp set/get代码
  9. python 自动登录方法_Python实现自动登录百度空间的方法
  10. IDEA 新建junit单元测试
  11. webgis期末考试试题_WebGIS考试参考试题
  12. netlogo笔记(4):森林火灾模拟与模型改进
  13. 如何在C加加的面向对象写石头剪刀布游戏
  14. web实训——3.12
  15. 一个普通IT人的十年回顾
  16. 基于C++的带权无向图的实现 (三)- Prim最小生成树算法
  17. 卫星遥感加持,农业更高效精准
  18. 实现Vue移动端的PDF预览
  19. PCL:点云平移、旋转
  20. wincc按钮控制的vb脚本_VB操作wincc脚本心得

热门文章

  1. 用于特征选择的F-Score打分及其Python实现
  2. Zookeeper3.4.9分布式集群安装
  3. Android Toolbar 标题居中及字体样式自定义
  4. SpringBoot(十二):springboot如何测试打包部署
  5. Nginx开启GZIP来压缩网页
  6. 黄聪:如何使用CodeSmith批量生成代码(转:http://www.cnblogs.com/huangcong/archive/2010/06/14/1758201.html)...
  7. 未能解析引用的程序集……因为它对不在当前目标框架……
  8. 【R】【BiocManager::install】R语言装包
  9. 如何用python做计算_如何运用Python编写简易计算器?
  10. unity人物刚体移动_Unity 刚体移动,自方向移动