训练3 习题24
来源:互联网 发布:暗影精灵3 新机优化 编辑:程序博客网 时间:2024/05/18 02:44
题目:
2 1010 15 105 10 53 105 10 53 5 62 7 3
511
思路:本来是简单的背包问题 不过有价格限制 需要满足 价格 差值越小使用它的价值越大(所以先排序)
#include<cstring>
#include<cstdio>
//#include<algorithm>
struct things{
int p,q,v;
}thing[510];
bool cmp(things a,things b){
return (a.q-a.p)<(b.q-b.p);
}
using namespace std;
int max(int a1,int a2)
{
if(a1>a2)
return a1;
return a2;
}
int main()
{
int n,maxv,i,j,dp[5010];
while(scanf("%d%d",&n,&maxv)!=EOF)
{
memset(dp,0,sizeof(dp));
for(i=0;i<n;i++)
{
scanf("%d%d%d",&thing[i].p,&thing[i].q,&thing[i].v);
}
sort(thing,thing+n,cmp);
for(i=0;i<n;i++)
{
for(j=maxv;j>=thing[i].q;j--)
{
dp[j]=max(dp[j],dp[j-thing[i].p]+thing[i].v);
}
}
printf("%d\n",dp[maxv]);
}
return 0;
}
- 训练3 习题24
- 训练3 习题3
- 训练3 习题6
- 训练3 习题10
- 训练3 习题13
- 训练3 习题15
- 训练3 习题1
- 训练3 习题14
- 训练3 习题5
- 训练3 习题16
- 训练3 习题11
- 训练3 习题7
- 训练3 习题12
- 训练3 习题18
- 训练3 习题22
- 逻辑思维训练习题
- mysql复习 习题训练
- 训练2 习题2
- 【整理】html知识点
- Android 获取屏幕显示信息
- 服务器架构演变之路学习
- Android 获取memoryinfo
- 【整理】html5知识点1
- 训练3 习题24
- OC语言5—封装
- android ethernet 代码分析
- Android 获取可用内存大小
- C++ Primer 学习笔记之 --- 学习总结
- linux后台运行程序
- CodeForces597ADivisibility(数学)
- 【整理】html5知识点2
- Java 8 Lambda表达式