小明逛超市

题目大意:

有一个大小为n的背包,和m件物品,每件物品都有自己的价格和价值还有个数,当个数为0时则为无限件,为1实则为1件,求最大的价值

样例输入

4 5

5 3 0

5 3 1

4 4 0

2 3 0

3 2 1

样例输出

6

【样例解释】

买需求度为3的物品两个,耗费22=4元,获得32=6的需求度

数据范围限制

对于50%的数据,1≤m≤20

对于100%的数据,1≤m≤100,0≤n≤10000,1≤y≤1000

解题方法:

这道题就是一个混合背包,但他只由完全背包和01背包组成,我就勤奋点把多重背包也打上了比赛是眼瞎,没看清题,以为有多重背包,但还是AC了,我们不用直接加一重循环的方法,用二进制优化,将5分为1,2,2,将8分为1,2,4,1

#include<cstdio>
#include<iostream>
using namespace std;
int n,m,x,y,z,w,t,a[500000],b[500000],f[10000];
int main()
{scanf("%d %d",&n,&m);for (int i=1;i<=m;i++){scanf("%d %d %d",&x,&y,&z);if (!z) z=n/x;//判断是否为无限,若为无限则是可以拿的最大个数t=1;//预处理while (t<z){a[++w]=x*t;//记录b[w]=y*t;//记录z-=t;//剩余个数减去当前个数t*=2;//当前个数翻倍}if (z)//余下的{a[++w]=x*z;b[w]=y*z;}}for (int i=1;i<=w;i++)for (int j=n;j>=a[i];j--)f[j]=max(f[j-a[i]]+b[i],f[j]);//01背包printf("%d",f[n]);return 0;
}

【背包】小明逛超市(jzoj 2148)相关推荐

  1. HDUOJ----4501小明系列故事——买年货(三维背包)

    小明系列故事--买年货 Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tota ...

  2. hdu 4501 小明系列故事——买年货 多重背包

    小明系列故事--买年货                                                                          Time Limit: 500 ...

  3. HDU 小明系列故事——买年货

    Problem Description 春节将至,小明要去超市购置年货,于是小明去了自己经常去的都尚超市. 刚到超市,小明就发现超市门口聚集一堆人.用白云女士的话说就是:"那家伙,那场面,真 ...

  4. HDU 4501 小明系列故事——买年货

    小明系列故事--买年货 Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tota ...

  5. 基于发布者/订阅者模式的小媛逛超市

    基于发布者/订阅者模式的小媛逛超市 一.概述 (1) 角色对应: 发布者=小媛,订阅者=超市. (2) 过程简介: 小明来到超市购物,超市统计小媛购物的种类数量. 二.代码结构 三.解决方案结构 四. ...

  6. C语言:【入门】小明买水果

    题目描述 小明去超市买了若干斤水果,你能根据水果的单价,小明买的水果数量,编一个程序计算出总金额,并打印出清单. 输入 两行   第一行商品的单价,是一个小数   第二行商品的数量,是一个整数 输出 ...

  7. 1703 - 小明买水果

    题目描述 小明去超市买了若干斤水果,你能根据水果的单价,小明买的水果数量,编一个程序计算出总金额,并打印出清单. 输入 第一行商品的单价,是一个小数. 第二行商品的数量,是一个整数. 输出 一行,商品 ...

  8. 二维费用 hdu 2159 FATE(完全背包)HDU OJ 4501 小明系列故事——买年货【DP】

    二维费用的背包问题是指:对于每件物品,具有两种不同的费用:选择这件物品必须同时付出这两种代价:对于每种代价都有一个可付出的最大值(背包容量).问怎样选择物品可以得到最大的价值.设这两种代价分别为代价1 ...

  9. 0-1背包之小明和丁丁的奇遇

    又是一个阳光明媚的周末,是一个出去游玩的好日子. 小明背上书包,和他的好朋友丁丁一起去郊外游玩. 郊外芳草青青,流水潺潺.真是一个游玩的好地方啊! 正当小明和丁丁玩的正High的时候,突然间冒出来一个 ...

最新文章

  1. 《漫画算法2》源码整理-6 两数之和 三数之和
  2. ubuntu下主目录的路径是什么
  3. hoj1003 Mixing Milk (哈工大)
  4. Golang入门(4):并发
  5. 基于amoeba实现mysql数据库的读写分离/负载均衡
  6. php调用trait方法,PHP Laravel中的Trait使用方法
  7. React Advanced 备忘
  8. Net平台下的Mock工具---Rhino Mocks
  9. php高级视频教程下载_50个G的PHP视频教程全集下载
  10. 深入理解LSTM神经网络
  11. CI框架redirect自动加上了index.php问题
  12. S32K1xx 系列安全手册
  13. 人工智能下的处理器(xpu)
  14. 单臂路由及链路聚合+实验配置(均使用思科模拟器Cisco Packet Tracer Student)
  15. Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)
  16. [原创]黑产在IP攻防上的挣扎与进化
  17. html css animate,animate.css的使用方法
  18. Spring Boot Redis 实现分布式锁,真香
  19. 这个小程序厉害了!一键生成花式昵称,让你的微信从此与众不同!
  20. 银河麒麟V10.1 使用root用户时自动重启pulseaudio服务

热门文章

  1. redis 清空缓存_「镜头回放」简直了!spring中清除redis缓存导致应用挂死
  2. java读取文件跳过_在Java中读取文本文件-为什么跳过行?
  3. facade java_Java设计模式之Facade模式
  4. mysql判断是否在日期区间_通过sql判断时间区间是否存在数据
  5. python监控键盘输入_Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】...
  6. org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the
  7. 最短路(遍历边)计蒜客—DD坐地铁
  8. matlab极大无关组,matlab最大无关组
  9. MySQL错误1264和1366_Mysql错误1366 - Incorrect integer value解决方法
  10. java 定时_Java线上定时任务不定期挂掉问题分析