01背包--限制--hdu3466
来源:互联网 发布:淘宝天天特价是正品吗 编辑:程序博客网 时间:2024/06/07 09:51
题意:给出 Pi 物品花费,Qi满足钱数大于Qi才可以购买,Vi物品价值
给出N个物品 ,M钱,购买的最大价值
思路:
典型01背包,但因为又有Qi作为限制,因此要保证(Vi*1.0)/(Qi-Pi)的单位价值最大
#include <iostream>#include <stdio.h>#include <cstring>#include <algorithm>using namespace std;struct p{ int Pi; int Qi; int Vi;}goods[505];int dp[20000];int cmp(struct p a,struct p b){ return (a.Vi*1.0)/(a.Qi-a.Pi)>(b.Vi*1.0)/(b.Qi-b.Pi); }int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) { cin>>goods[i].Pi>>goods[i].Qi>>goods[i].Vi; } sort(goods+1,goods+n+1,cmp); for(int i=1;i<=n;i++) { for(int j=m;j>=goods[i].Qi;j--) { dp[j]=max(dp[j],dp[j-goods[i].Pi]+goods[i].Vi); } } cout<<dp[m]<<endl; } return 0;}
0 0
- 01背包--限制--hdu3466
- hdu3466(01背包)
- hdu3466-01背包
- 01背包 HDU3466
- HDU3466 01背包
- HDU3466(01背包)
- hdu3466-01背包
- hdu3466(排序+01背包)
- 【标记】 hdu3466 01背包变种
- HDU3466:Proud Merchants(01背包)
- hdu3466 Proud Merchants (01背包)
- HDU3466 01背包技巧题
- 【HDU3466】Proud Merchants(01背包)
- hdu3466(01背包排序)
- hdu3466(01背包,贪心)
- hdu3466 Proud Merchants 01背包 排序 dp
- hdu3466 Proud Merchants(排序+01背包)
- hdu3466 Proud Merchants 变形01背包
- Pro Android学习笔记(一五二):传感器(2):光传感器
- 关于KVC
- Spring Boot 静态资源处理
- 【研究分析】告诉你一个真实的 OpenStack:都谁在用,用来干什么?
- 笛卡尔积算法的Java实现
- 01背包--限制--hdu3466
- NRF51822 GPIO
- js文件被浏览器缓存的思考
- 如何实现在Alert提示框之后跳转页面(笔记)
- nginx配置防盗链及伪静态
- JavaWeb---JSTL标签库(core标签库)
- swt 做界面时部分要点
- Java_集合—Collection—Map
- 接口与端口的区别