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[],每次找完一组的时候更新一下;
![](/assets/blank.gif)
![](/assets/blank.gif)
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件 ...
最新文章
- Android 人脸识别
- android BiConsumer 使用 ClassNotDefException
- 在git中出现中文乱码的解决方案
- 身为DATASHUO大数据工程师,我亲手制作的2016年第一期数据报告
- DHL:jQuery框架学习使用总结,插件,继续中...
- ui设计基础_我不知道的UI设计的9个重要基础
- 对人工智能神经网络的认识
- Express-router
- 安装FFmpeg后,发现没有生成ffplay的解决办法
- vmware esxi主机经常出现的警示“vsphere distributed switch mtu支持状态, vlan中继状态”求大神回复。
- Python中出现“TabError: inconsistent use of tabs and spaces in indentation”
- Linux 命令(104)—— crontab 命令
- 低功耗微波雷达模块,LED庭院灯智能感应,雷达传感器助力节能减排
- 软件能力成熟度模型(CMMI)
- Python爬虫的应用:统记词频
- macOS更新失败解决
- 冒泡算法的Java实现
- 全球物料管理MMOG/LE体系培训资料(最新)
- 七夕送女朋友什么礼物好?不会送礼的男生速看!
- iOS开发系列--数据存取
热门文章
- AI技术加持,让协作机器人更安全
- 视频监控成AI芯片主战场,海康威视和大华股份占据半壁江山
- Fast.ai推出NLP最新迁移学习方法「微调语言模型」,可将误差减少超过20%!
- 后浪优秀!21 岁小伙兼职程序员养家,大三存款达 6 位数
- 惊艳了!升级版的 APDrawing,秒让人脸照变线条肖像画
- 窃隐私、放高利贷,输入法的骚操作真不少!
- 知乎热帖:Qt 这么强大为什么火不起来?
- Ubuntu 16.04 amd64 bond mode6 配置
- 无限极分类原理与实现
- Mac 装Sequel pro 连接 Mysql 8.0 失败、登录不了、loading问题