【背包】小明逛超市(jzoj 2148)
小明逛超市
题目大意:
有一个大小为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)相关推荐
- HDUOJ----4501小明系列故事——买年货(三维背包)
小明系列故事--买年货 Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Tota ...
- hdu 4501 小明系列故事——买年货 多重背包
小明系列故事--买年货 Time Limit: 500 ...
- HDU 小明系列故事——买年货
Problem Description 春节将至,小明要去超市购置年货,于是小明去了自己经常去的都尚超市. 刚到超市,小明就发现超市门口聚集一堆人.用白云女士的话说就是:"那家伙,那场面,真 ...
- HDU 4501 小明系列故事——买年货
小明系列故事--买年货 Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Tota ...
- 基于发布者/订阅者模式的小媛逛超市
基于发布者/订阅者模式的小媛逛超市 一.概述 (1) 角色对应: 发布者=小媛,订阅者=超市. (2) 过程简介: 小明来到超市购物,超市统计小媛购物的种类数量. 二.代码结构 三.解决方案结构 四. ...
- C语言:【入门】小明买水果
题目描述 小明去超市买了若干斤水果,你能根据水果的单价,小明买的水果数量,编一个程序计算出总金额,并打印出清单. 输入 两行 第一行商品的单价,是一个小数 第二行商品的数量,是一个整数 输出 ...
- 1703 - 小明买水果
题目描述 小明去超市买了若干斤水果,你能根据水果的单价,小明买的水果数量,编一个程序计算出总金额,并打印出清单. 输入 第一行商品的单价,是一个小数. 第二行商品的数量,是一个整数. 输出 一行,商品 ...
- 二维费用 hdu 2159 FATE(完全背包)HDU OJ 4501 小明系列故事——买年货【DP】
二维费用的背包问题是指:对于每件物品,具有两种不同的费用:选择这件物品必须同时付出这两种代价:对于每种代价都有一个可付出的最大值(背包容量).问怎样选择物品可以得到最大的价值.设这两种代价分别为代价1 ...
- 0-1背包之小明和丁丁的奇遇
又是一个阳光明媚的周末,是一个出去游玩的好日子. 小明背上书包,和他的好朋友丁丁一起去郊外游玩. 郊外芳草青青,流水潺潺.真是一个游玩的好地方啊! 正当小明和丁丁玩的正High的时候,突然间冒出来一个 ...
最新文章
- 《漫画算法2》源码整理-6 两数之和 三数之和
- ubuntu下主目录的路径是什么
- hoj1003 Mixing Milk (哈工大)
- Golang入门(4):并发
- 基于amoeba实现mysql数据库的读写分离/负载均衡
- php调用trait方法,PHP Laravel中的Trait使用方法
- React Advanced 备忘
- Net平台下的Mock工具---Rhino Mocks
- php高级视频教程下载_50个G的PHP视频教程全集下载
- 深入理解LSTM神经网络
- CI框架redirect自动加上了index.php问题
- S32K1xx 系列安全手册
- 人工智能下的处理器(xpu)
- 单臂路由及链路聚合+实验配置(均使用思科模拟器Cisco Packet Tracer Student)
- Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)
- [原创]黑产在IP攻防上的挣扎与进化
- html css animate,animate.css的使用方法
- Spring Boot Redis 实现分布式锁,真香
- 这个小程序厉害了!一键生成花式昵称,让你的微信从此与众不同!
- 银河麒麟V10.1 使用root用户时自动重启pulseaudio服务
热门文章
- redis 清空缓存_「镜头回放」简直了!spring中清除redis缓存导致应用挂死
- java读取文件跳过_在Java中读取文本文件-为什么跳过行?
- facade java_Java设计模式之Facade模式
- mysql判断是否在日期区间_通过sql判断时间区间是否存在数据
- python监控键盘输入_Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】...
- org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the
- 最短路(遍历边)计蒜客—DD坐地铁
- matlab极大无关组,matlab最大无关组
- MySQL错误1264和1366_Mysql错误1366 - Incorrect integer value解决方法
- java 定时_Java线上定时任务不定期挂掉问题分析