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

题意:

最近,iSea去了一个古老的国家。在这么长的时间里,它是世界上最富有和最强大的王国。结果,这个国家的人民仍然非常自豪,即使他们的国家没有那么富有了。
商人是最典型的,每个人只卖一个项目,价格是Pi,但如果你的钱少于Qi,他们会拒绝与你交易,iSea评估每个项目一个值Vi。
如果他有M单位的钱,iSea可以获得的最大价值是多少?

思路:

这道题的话多加了一个Qi。

一定要注意,若要保证动归方程无后效性,dp[j-a[i].p]一定要比dp[j]先算,j最小为a[i].q,所以需按q-p从小到大排序

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<cstring>
  4. using namespace std;
  5.  
  6. const int maxn = +;
  7.  
  8. int n, m;
  9. int dp[maxn];
  10.  
  11. struct node
  12. {
  13. int p, q, v;
  14. }a[maxn];
  15.  
  16. bool cmp(node a, node b)
  17. {
  18. return a.q-a.p < b.q-b.p;
  19. }
  20.  
  21. int main()
  22. {
  23. //freopen("D:\\txt.txt", "r", stdin);
  24. while (cin >> n >> m && n && m)
  25. {
  26. memset(dp, , sizeof(dp));
  27. for (int i = ; i <= n; i++)
  28. cin >> a[i].p >> a[i].q >> a[i].v;
  29. sort(a + , a + + n, cmp);
  30. for (int i = ; i <= n; i++)
  31. {
  32. for (int j = m; j >= a[i].q; j--)
  33. dp[j] = max(dp[j], dp[j - a[i].p] + a[i].v);
  34. }
  35. cout << dp[m] << endl;
  36. }
  37. return ;
  38. }

HDU 3466 Proud Merchants(0-1背包)的更多相关文章

  1. HDU 3466 Proud Merchants(01背包)

    这道题目看出背包非常easy.主要是处理背包的时候须要依照q-p排序然后进行背包. 这样保证了尽量多的利用空间. Proud Merchants Time Limit: 2000/1000 MS (J ...

  2. HDU 3466 Proud Merchants 带有限制的01背包问题

    HDU 3466 Proud Merchants 带有限制的01背包问题 题意 最近,伊萨去了一个古老的国家.在这么长的时间里,它是世界上最富有.最强大的王国.因此,即使他们的国家不再那么富有,这个国 ...

  3. hdu 3466 Proud Merchants 01背包变形

    Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) ...

  4. hdu 3466 Proud Merchants(有排序的01背包)

    Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) ...

  5. HDU 3466 Proud Merchants(01背包)

    题目链接: 传送门 Proud Merchants Time Limit: 1000MS     Memory Limit: 65536K Description Recently, iSea wen ...

  6. HDU 3466 Proud Merchants(01背包问题)

    题目链接: 传送门 Proud Merchants Time Limit: 1000MS     Memory Limit: 65536K Description Recently, iSea wen ...

  7. HDU 3466 Proud Merchants【贪心 + 01背包】

    Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerfu ...

  8. hdu 3466 Proud Merchants 自豪的商人(01背包,微变形)

    题意: 要买一些东西,每件东西有价格和价值,但是买得到的前提是身上的钱要比该东西价格多出一定的量,否则不卖.给出身上的钱和所有东西的3个属性,求最大总价值. 思路: 1)WA思路:与01背包差不多,d ...

  9. hdu 3466 Proud Merchants 【限制性01背包】+【贪心】

    题目链接:https://vjudge.net/contest/103424#problem/J 转载于:https://www.bbsmax.com/A/RnJW16GRdq/ 题目大意: 有n个商 ...

随机推荐

  1. notification 是同步的

    所有notification的观察者执行之后,post notification的函数才会往下执行.

  2. gerrit 使用教程(一)

    原文地址:https://www.jianshu.com/p/b77fd16894b6 1, Gerrit是什么? Gerrit实际上一个Git服务器,它为在其服务器上托管的Git仓库提供一系列权限控 ...

  3. inline详解

    1. 引入inline关键字的原因 在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数. 栈空间就是指放置程序的局部数据(也就是 ...

  4. MySQL实现SQL Server排名函数

    最近在MySQL中遇到分组排序查询时,突然发现MySQL中没有row_number() over(partition by colname)这样的分组排序.并且由于MySQL中没有类似于SQL Ser ...

  5. Sizzle源码分析 (一)

    Sizzle 源码分析 (一) 2.1 稳定 版本 Sizzle 选择器引擎博大精深,下面开始阅读它的源代码,并从中做出标记 .先从入口开始,之后慢慢切入 . 入口函数 Sizzle () 源码 19 ...

  6. 浅谈CDN加速问题

    (以百度CDN进行分析) 婆说婆有理,公说公有理.是否使用CDN,不同的工程师有不同的意见. 这里呢我来进行一下简单的分析. [正方观点] 1. 提升网站加载速度:CDN通过缓存技术提升网站打开速度, ...

  7. Trove系列(四)—Trove的快照功能介绍

    Trove 快照用于支持DbaaS 备份,复制等功能.在Trove API (guest_agent)上将支持本功能.本功能将能够支持快照,从而用来进行副本设置,主数据库克隆和备份,以及数据恢复.目前 ...

  8. 概率检索模型:BIM+BM25+BM25F

    1. 概率排序原理 以往的向量空间模型是将query和文档使用向量表示然后计算其内容相似性来进行相关性估计的,而概率检索模型是一种直接对用户需求进行相关性的建模方法,一个query进来,将所有的文档分 ...

  9. Ubuntu16.04 +cuda8.0+cudnn+caffe+theano+tensorflow配置明细

      本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www ...

  10. python退出多重循环

    假设一段python程序有多重循环,我们都知道在一个循环当中,用break是退出当前的循环,然后继续下一次循环,但是如何才能跳出多重循环呢,实际就是结束所有的循环. 思路1::可以定义一个异常类,在需 ...