题目描述
有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕,而每一个小蛋糕有一个美味度,而大嘴是很傲娇的,一定要吃美味度和刚好为m的小蛋糕,而且大嘴还特别懒,她希望通过吃数量最少的小蛋糕达到这个目的.所以她希望你能设计一个程序帮她决定要吃哪些小蛋糕.

数据规模和约定
m ≤ 20000,小蛋糕总数量≤50.

输入
先输入一行包含2个整数m、n,表示大嘴需要吃美味度和为m的小蛋糕,而小蛋糕一共有n种,下面输入n行,每行2个整数,第一个表示该种小蛋糕的美味度,第二个表示蛋糕店中该种小蛋糕的总数
输出
输出一行包含一个整数表示大嘴最少需要吃的小蛋糕数量,若大嘴无法通过吃小蛋糕达到m的美味度和,则输出" > < “.
样例输入
10 2
4 1
2 10
样例输出
4
思路:这是一个变形的多重背包。
美味度m为背包的总容量,每一个物品的美味度作为每一个物品的体积,数量为每一个物品的数量,价值每一个是1.转化为这样的一种多重背包,就可以直接套用模板去求了。多重背包不会的可以参考一下背包九讲。
代码如下:

#include<bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;const int maxx=2e4+100;
struct node{int num;int val;
}p[maxx];
int dp[maxx];
int V,m;int main()
{scanf("%d%d",&V,&m);for(int i=1;i<=m;i++) scanf("%d%d",&p[i].val,&p[i].num);memset(dp,inf,sizeof(dp));dp[0]=0;for(int i=1;i<=m;i++){int num=min(p[i].num,V/p[i].val);for(int k=1;num>0;k<<=1){if(k>num) k=num;num-=k;for(int j=V;j>=p[i].val*k;j--){dp[j]=min(dp[j],dp[j-p[i].val*k]+k);}}}if(dp[V]==inf) cout<<"><"<<endl;else cout<<dp[V]<<endl;return 0;
}

努力加油a啊,(o)/~

[蓝桥杯][算法提高VIP]贪吃的大嘴(多重背包)相关推荐

  1. 贪吃的大嘴java_[蓝桥杯][算法提高VIP]贪吃的大嘴-题解(Java代码)

    解题思路:多重背包 注意事项: 参考代码: import java.util.Arrays; import java.util.Scanner; public class llq1{ public s ...

  2. 蓝桥杯算法提高VIP-贪吃的大嘴

    题目 题目链接 题解 动态规划. 多重背包模板题. 转化成要放满承重为m的背包,所需的物品的最小价值为多少:每个物品的价值就是1,即1个,每种物品还有数量限制,套用多重背包模板即可. 代码1是二维实现 ...

  3. c语言oj题1923偶数之和,问题 1923: [蓝桥杯][算法提高VIP]学霸的迷宫 (BFS)

    题目描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫.因为班长还有妹子要陪,磨刀不 ...

  4. [蓝桥杯][算法提高VIP]夺宝奇兵-递推+记忆化搜索

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  5. [蓝桥杯][算法提高VIP]夺宝奇兵-dp

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  6. [蓝桥杯][算法提高VIP]阮小二买彩票

    [蓝桥杯][算法提高VIP]阮小二买彩票 题目描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多.可是一段时间观察下 ...

  7. [蓝桥杯][算法提高VIP]阮小二买彩票[递归全排列]

    题目 1578: [蓝桥杯][算法提高VIP]阮小二买彩票 时间限制: 1Sec 内存限制: 128MB 提交: 348 解决: 153 题目描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都 ...

  8. 贪吃的大嘴 多重背包 dp

    7-4 贪吃的大嘴 (15分) 有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕,而每一个小蛋糕有一个美味度,而大嘴是很傲娇的,一定要吃美味度和刚好为m的小蛋糕,而且大嘴还特别懒,她希望通过吃数量最少的小蛋 ...

  9. [蓝桥杯][算法提高][vip] 阮小二买彩票

    蓝桥杯 ADV-66 算法提高 阮小二买彩票 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多.可是一段时间观察 ...

最新文章

  1. bzoj1131[POI2008]Sta*
  2. geohash vs PostGIS
  3. 区块链80%项目靠同一个故事拿钱,但标准链说最坏的时机就是好的开始
  4. linux下的ssh端口号修改,如何在 Linux 中更改 SSH 端口
  5. 针对SQL INJECTION的SQL SERVER安全设置初级篇
  6. Active Report 紙張設置小結
  7. 如何避免 obj1 + obj2 = obj3 错误?
  8. ccd视觉定位教程_CCD视觉定位激光打标机的工作原理
  9. css子元素选择父元素的实现
  10. JAVA疫情数据可视化系统毕业设计 开题报告
  11. 驾驶证北京到期满换证  异地期满换领  异地驾驶证到期在北京换证 驾驶证异地换证
  12. Java简易转码工具(一个字符串编码是GBK的文本文件,内容转成UTF-8编码)
  13. 更换新硬盘,重新装回正版win10的方法
  14. 浪涌保护器,SPD浪涌保护器的分类和选型标准
  15. 计算机属性中只有远程协助,使用Windows自带的远程协助功能解决电脑问题
  16. Playwright + Python爬虫
  17. matplotlib只显示部分横坐标刻度,隐藏部分横坐标刻度
  18. (转)有个星座叫天平(一)
  19. Yii2 event-如何使用事件
  20. HCI - ImageJ软件的简介

热门文章

  1. C#各种配置文件使用,操作方法总结
  2. IOS14.3开发之使用纯代码创建UIButton以及弹框的使用
  3. php下载apk文件源码下载,php实现文件下载功能的几个代码分享
  4. openwrt安装蒲公英_不会OpenWRT、软路由也能双宽带叠加,蒲公英X6快速上手体验...
  5. mysql dump hbase_mysqldump导出全数据库
  6. Android开发之LayoutInflater.from(context).inflate()方法参数介绍解决RecyclerView加载布局不全的问题
  7. 功率谱 幅值谱_疲劳损伤谱(FDS)的基本原理
  8. 使用BaseAdapter实现复杂的ListView
  9. ios7中让程序使用统一的status bar风格
  10. 鸿蒙系统天气,墨迹天气携手鸿蒙系统 以精细化气象服务助力全场景生态建设...