HDU 3466 0-1背包
来源:互联网 发布:miao聊天软件下载 编辑:程序博客网 时间:2024/06/08 05:55
这个题需要先弄懂题意,这是使用了结构体数组,并对其中的一个关键字进行了排序。。。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAX(a,b) (a>b?a:b)
int dp[5005];
struct node{
int p;
int q;
int v;
int c;
}it[505];
int cmp(const void *a,const void *b)
{
return (*(struct node *)a).c > (*(struct node *)b).c?1:-1;
}
int main()
{
int i,m,j,n;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=0;i<n;i++){
scanf("%d%d%d",&it[i].p,&it[i].q,&it[i].v);
it[i].c=it[i].q-it[i].p; // c=q-p
}
memset(dp,0,sizeof(dp));
qsort(it,n,sizeof(it[0]),cmp); // 对c排序,从小到大
for(i=0;i<n;i++) // 0-1背包
for(j=m;j>=it[i].q;j--)
dp[j]=MAX(dp[j],dp[j-it[i].p]+it[i].v);
printf("%d\n",dp[m]);
}
system("pause");
return 0;
}
- HDU 3466 0-1背包
- hdu 3466 Proud Merchants(0/1背包)
- HDU 5410 (0 1背包+ 完全背包)
- hdu 2602 0 - 1背包
- HDU-2602 0-1背包
- [HDU-2602] 0-1背包
- hdu 2546 0-1背包
- hdu 5000 0-1背包
- HDU 1171 0-1背包
- HDU 2602 (0-1背包)
- HDU-5543(0-1背包)
- hdu 3466 Proud Merchants(0-1背包+排序)
- HDU Proud Merchants 3466 0-1背包变形
- hdu 3466 01背包
- HDU 3466 (01背包)
- hdu 3466 背包
- hdu 3466 01背包
- HDU 2602 (0-1背包问题)
- 第七章 对话框的子控件 windows程序设计 王艳平版
- 传智播客 传智播客.NET视频学习课件
- ZOJ 0-1背包
- 立体匹配算法_自适应窗口_Cross Based Support Region .
- 立体匹配算法_RankTransform .
- HDU 3466 0-1背包
- 行-4-understand的再次学习理解
- U盘安装ubuntu 12.04-LTS-liveCD问题
- HDU 1059 多重背包
- ZOJ 1292 大数相加
- C/C++运算符优先级表 - C Operator Precedence Table
- 编辑myeclipse的注释用于自己的开发
- 双目匹配与视差计算
- 大数相乘