hdu 3466 Proud Merchants
来源:互联网 发布:心算除法的快速计算法 编辑:程序博客网 时间:2024/05/17 20:34
点击打开链接
题目大意:有n种物品,每个物品有三个属性p,q,v, p代表价格,当你手中的钱少于q时,商品不卖,v代表商品价值,
01背包的升级版,这里要将商品按p-q大小进行升序排列,因为这样可以保证每次更新的状态值从小到大递增,前面更新过的状态不会影响后面更新的状态。
#include <iostream>#include <stdio.h>#include <cstring>#include <algorithm>using namespace std;struct note {int p,q,v;}a[600];int dp[6000];int n,m;bool cmp(note a,note b){return a.q-a.p<b.q-b.p;}int main(){freopen("in.txt","r",stdin); while(scanf("%d%d",&n,&m)!=EOF) { memset(a,0,sizeof(a)); memset(dp,0,sizeof(dp)); for(int i=0;i<n;i++) { scanf("%d%d%d",&a[i].p,&a[i].q,&a[i].v); } sort(a,a+n,cmp); for(int i=0;i<n;i++) for(int j=m;j>=a[i].p;j--) { if(j>=a[i].q) dp[j]=max(dp[j],dp[j-a[i].p]+a[i].v); } printf("%d\n",dp[m]); }}
0 0
- hdu 3466 Proud Merchants
- HDU 3466 Proud Merchants
- hdu 3466 Proud Merchants
- hdu 3466 Proud Merchants
- hdu 3466 Proud Merchants
- HDU-3466-Proud Merchants
- HDU 3466 Proud Merchants
- hdu 3466 Proud Merchants
- HDU 3466 Proud Merchants
- HDU 3466 Proud Merchants
- hdu 3466 Proud Merchants
- HDU 3466 Proud Merchants
- HDU 3466 Proud Merchants
- HDU - 3466 Proud Merchants
- hdu 3466 Proud Merchants
- hdu 3466 Proud Merchants
- hdu 3466 Proud Merchants
- HDU 3466 Proud Merchants
- [Windows操作系统] DOS 批处理 修改xml文件
- ireport jasperreport 主报表向子报表传递参数
- H - Overturned Numbers-坑爹水题
- Myeclipse中hibernate开发
- hdu2510 符号三角形(dfs+打表) 解题报告
- hdu 3466 Proud Merchants
- 第72讲 Scala界面事件处理编程
- bzoj1004【hnoi2008】Cards
- MyEclipse8.6注册机,仅供于个人学习使用
- 如何使用DialogFragment类来创建和显示对话框
- ubuntu安装和使用supervisor
- SSH学习六 Hibernate 一对多 多对一的双向映射
- C++对象模型——Copy Constructor 的建构操作(第二章)
- Algorithms—205.Isomorphic Strings