Proud Merchants HDU
来源:互联网 发布:ug4.0编程加工步骤 编辑:程序博客网 时间:2024/06/05 18:55
The merchants were the most typical, each of them only sold exactly one item, the price was Pi, but they would refuse to make a trade with you if your money were less than Qi, and iSea evaluated every item a value Vi.
If he had M units of money, what’s the maximum value iSea could get?
Each test case begin with two integers N, M (1 ≤ N ≤ 500, 1 ≤ M ≤ 5000), indicating the items’ number and the initial money.
Then N lines follow, each line contains three numbers Pi, Qi and Vi (1 ≤ Pi ≤ Qi ≤ 100, 1 ≤ Vi ≤ 1000), their meaning is in the description.
The input terminates by end of file marker.
2 1010 15 105 10 53 105 10 53 5 62 7 3
511
以最低价格要求与实际价格的差值作为关键字进行排序,然后当作01背包处理
A:p1,q1 B: p2,q2,先选A,则至少需要p1+q2的容量,而先选B则至少需要p2+q1,如果p1+q2>p2+q1
因此该题要确保Q[i]-P[i]小的先被”挑选“,差值越小使用它的价值越大(做出的牺牲越小).
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
int dp[5500];
struct node
{
int p;
int q;
int v;
}a[5500];
int cmp(node a1,node a2)
{
return a1.q-a1.p<a2.q-a2.p;
}
int main()
{
while(~scanf("%d%d",&n,&m))
{
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].q;j--)
dp[j]=max(dp[j],dp[j-a[i].p]+a[i].v);
}
printf("%d\n",dp[m]);
}
}
- 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
- ListView的点击事件与子控件点击冲突的解决
- 内存的构造和变量占用的字节数
- 解决MYSQL的错误:Got a packet bigger than 'max_allowed_packet' bytes
- BZOJ 5049. 【GDOI2017模拟一试4.11】腐女的生日
- Java实例-输入年月日完成以下判断
- Proud Merchants HDU
- 怎样才能将刘徽割圆术动画演示
- (原创)详解共享参数存储
- php 替代被弃用函数的
- PHP过滤敏感词
- navicat无法连接数据库
- JSP中数据库的使用
- Django--制作表单
- Integer.valueOf()与Integer.parseInt()区别