hdu 3449 Consumer 01背包
http://acm.hdu.edu.cn/showproblem.php?pid=3449
这个题AC的有点稀里糊涂(是1A过的),采用的01背包的方法;
思路:定义了两个数组用来存储最终结果和但购买这一组的篮子是的价值,然后a[j]=max(a[j],b[j-link[i].pi]);
把最终结果给a[],每次找完一组的时候更新一下;
1 #include<iostream> 2 #include<cstring> 3 #include<algorithm> 4 #include<cstdlib> 5 #include<cstdio> 6 using namespace std; 7 int a[100010],b[100010]; 8 struct node 9 {10 int pi;11 int num;12 int price[15];13 int vlaue[15];14 }link[55];15 int main()16 {17 int n,s,i,j,k;18 while(scanf("%d%d",&n,&s)!=EOF)19 {20 for(i=0;i<=s;i++)21 a[i]=b[i]=0;22 for(i=1;i<=n;i++)23 {24 scanf("%d%d",&link[i].pi,&link[i].num);25 for(j=1;j<=link[i].num;j++)26 scanf("%d%d",&link[i].price[j],&link[i].vlaue[j]);27 }28 for(i=1;i<=n;i++)29 {30 for(j=0;j<=s;j++)31 b[j]=a[j];32 for(j=1;j<=link[i].num;j++)33 for(k=s;k>=link[i].price[j];k--)34 if(b[k]<b[k-link[i].price[j]]+link[i].vlaue[j])35 b[k]=b[k-link[i].price[j]]+link[i].vlaue[j];36 for(j=s;j>=link[i].pi;j--)37 {38 a[j]=max(a[j],b[j-link[i].pi]);39 }40 }41 printf("%d\n",a[s]);42 }43 }
转载于:https://www.cnblogs.com/LT-blogs/archive/2011/11/25/2263838.html
hdu 3449 Consumer 01背包相关推荐
- HDU 2639(01背包求第K大值)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2639 Bone Collector II Time Limit: 5000/2000 MS (Jav ...
- HDU - 3466(01背包理解)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3466 题意:给你一些钱 m ,然后在这个国家买东西, 共有 n 件物品,每件物品价格P价值V还有一个很 ...
- Jam's balance HDU - 5616 (01背包基础题)
Jim has a balance and N weights. (1≤N≤20) The balance can only tell whether things on different side ...
- hdu 5501(贪心+01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5501 现在有A1,B1,C1和A2,B2,C2这两道题,如果先做1再做2的得分是A1-B1*C1+A2 ...
- hdu 1881(简单01背包)
毕业bg Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Des ...
- HDU 3449 Consumer
这是一道依赖背包问题. 背包问题通常的解法都是由0/1背包拓展过来的,这道也不例外. 我最初想到的做法是,由于有依赖关系,先对附件做个DP,得到1-w的附件背包结果f[i]表示i花费得到的最大收益,然 ...
- HDu 3449 (有依赖的01背包) Consumer
题意: 有n件物品,对应有不同的价格和价值,这是典型的01背包.但现在有了一个限制,要买物品先买能装这件物品的特定的盒子,盒子的价值为0 代码理解得还不是太好,感觉这是一个"二重" ...
- hdu 3449 有依赖性的01背包
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3449 Consumer Description FJ is going to do som ...
- hdu 3732(01背包转多重背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3732 思路:这么大的数据,用01背包肯定会TLE的,01背包转多重背包..最多也就11*11=121件 ...
最新文章
- 后疫情时代怎么办?来看看联想的智慧答卷
- Spring WebFlux和Spring Cloud开发响应式微服务
- 玩斗地主明白的7个道理
- Hystrix 熔断器02 —— hystrix 案例之高并发测试
- 可以用javascript实现的10种图片特效
- Linux-重装系统之静态ip配置
- java中session对象登录_JavaWeb中Session对象的学习笔记
- 原来搞单片机也可以面向对象
- python面向对象类创建人物类包含姓名、职业_python面向对象类
- 2016年 1月15号 cocoapods的导入
- 【编译原理笔记10】语法制导翻译:在递归预测过程中进行翻译,L属性定义的自底向上翻译
- .NET程序员面试指南:设计窗口程序演示八皇后问题
- 51单片机智能循迹小车的通俗易懂讲解
- 创新洞见|2023年B2B业务为何必须采用PLG增长策略
- 扇区 物理块 逻辑块 flash 基础概念
- linux动态压缩硬盘,VirtualBox 压缩VDI硬盘
- BC35 RAI功能应用
- Excel怎么快速计算人数
- RPM(软件包管理器)和YUM 软件仓库
- 【代码随想录二刷】day9 | 28. 实现 strStr() 459.重复的子字符串
热门文章
- MIT:机器学习预测2018世界杯冠军
- 三大国有银行同时入股 AI 公司第四范式
- 做木匠、开烘焙店、写科幻小说,那些选择转行的开发者们…
- 假如易立竞吐槽程序员......
- 《互联网人求职图鉴》:这类人才“最吃香”,最高薪编程语言出炉!
- 一个仿微信朋友圈的图片查看框架 - PhotoViewer
- AOP埋点从入门到放弃(二)
- Centos6.5安装Seafile,遇到的问题处理记录。
- Kupu,“document-centric”的开放源码的客户端文本编辑器
- 杭电 1272 poj 1308 小希的迷宫