问题描述
  每个物品有一定的体积(废话),不同的物品组合,装入背包会战用一定的总体积。假如每个物品有无限件可用,那么有些体积是永远也装不出来的。为了尽量装满背包,附中的OIER想要研究一下物品不能装出的最大体积。题目保证有解,如果是有限解,保证不超过2,000,000,000
  如果是无限解,则输出0
输入格式
  第一行一个整数n(n<=10),表示物品的件数
  第2行到N+1行: 每件物品的体积(1<= <=500)
输出格式
  一个整数ans,表示不能用这些物品得到的最大体积。
样例输入
3
3
6
10
样例输出
17
又是一个g背包问题。看看这几个数不能组合出来的最大数。
思路是先对这几个数求gcd,若果是1的话,就有解。如果不是1,就没有解。
在能否组成的时候,需要用到完全背包的思路
代码如下:

#include<iostream>
using namespace std;
#define MAX_NUM 100000int n;
int a[11];            //保存物品的体积
int dp[MAX_NUM];    //保存物品能组成的所有体积int gcd(int a,int b)    //求两个数的最大公约数
{if (a % b == 0)return b;elsereturn gcd(b, a % b);
}int gcdAll()            //求所有数的最大公约数
{int temp = a[0];for (int i = 1; i < n; i++){temp = gcd(temp, a[i]);}return temp;
}int main()
{cin >> n;for (int i = 0; i < n; i++)cin >> a[i];if (gcdAll() == 1)    //如果所有数的最大公约数为1,则有解,否则为无限解 {dp[0] = 1;for (int i = 0; i < n; i++){for (int j =a[i]; j <= MAX_NUM; j++){if (dp[j - a[i]] == 1)    //i=0时,j为goods[0]的倍数;//接下来,j为 goods[i]中物品体积值组合的结果 dp[j] = 1;}}for (int i = MAX_NUM; i >= 0; i--)        //逆序遍历所有的体积结果,将第一个不能组合的数输出后结束 {if (!dp[i]){cout<<i;return 0;}}}cout<<"0";    //无限解return 0;
}

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

蓝桥杯之最大体积(数论+完全背包)相关推荐

  1. 蓝桥杯 ALGO-1004 无聊的逗 01背包+回溯 python

    题目 这逗志芃也太无聊了吧,玩这么一个游戏- 为了这道题能拿个AC我花了三天的时间才搞清楚,感觉这蓝桥杯还是有点难度啊

  2. 蓝桥杯之貌似化学(g背包)

    问题描述 现在有a,b,c三种原料,如果他们按x:y:z混合,就能产生一种神奇的物品d. 当然不一定只产生一份d,但a,b,c的最简比一定是x:y:z 现在给你3种可供选择的物品: 每个物品都是由a, ...

  3. [蓝桥杯][算法提高VIP]摆花-多重背包计数问题

    题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时 ...

  4. 蓝桥杯 反置数 数论

    题目描述 一个整数的"反置数"指的是把该整数的每一位 数字的顺序颠倒过来所得到的另一个整数.如果一个整数的末尾是以0结尾,那么在它的反置数当中,这些0就被省略掉了.比如说,1245 ...

  5. 第十二届_国赛蓝桥杯个人模板_基础篇

    第十二届_国赛蓝桥杯个人模板_网格图_DFS/BFS篇 第十二届_国赛蓝桥杯个人模板_全排列_DFS/BFS篇 第十二届_国赛蓝桥杯个人模板_DP篇 第十二届_国赛蓝桥杯个人模板_数论篇 第十二届_国 ...

  6. Java 01背包【动态规划·蓝桥杯练习题】(相信杨超越,相信锦鲤,默默努力,其它的看天意)

    锦鲤镇楼 1.题目描述: 时间限制:1.0s 内存限制:256.0MB 关键字:01背包 动态规划 问题描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高 ...

  7. [蓝桥杯][2013年第四届真题]买不到的数目-模拟,数论

    题目描述 小明开了一家糖果店.他别出心裁:把水果糖包成4颗一包和7颗一包的两种.糖果不能拆包卖. 小朋友来买糖的时候,他就用这两种包装来组合.当然有些糖果数目是无法组合出来的,比如要买 10 颗糖. ...

  8. AcWing蓝桥杯AB组辅导课08、数论

    文章目录 前言 一.数论 例题 例题1:AcWing 1246. 等差数列(最大公约数,第十届蓝桥杯省赛C++B第7题) 分析 题解:最大公约数 例题2:AcWing 1295. X的因子链(算数基本 ...

  9. HDU and 蓝桥杯 完全背包练习题

    题目链接请点击 我说一下题目的大意吧,第一行给出小猪存钱罐的重量和装满硬币的小猪钱罐的重量,那么能够装硬币的质量是(F-E)g ,(F-E)g中使装的硬币最少,把(F-E)当成容量,用完全背包解决求最 ...

最新文章

  1. “别人家的小孩”是如何用一行代码手撕面试题的?
  2. 使用opencv中的merge()函数为BGR图像添加alpha通道
  3. java 容器 线程_JAVA多线程并发容器
  4. SAP UI5 Gateway后台ETAG校验逻辑
  5. mysql select null 0,查询值中为NULL,在MySQL中产生0.00
  6. [洛谷P1369]矩形
  7. 分布式锁--Redis实现
  8. python爬虫审查元素_python爬虫3——获取审查元素(板野友美吧图片下载)
  9. 终日奔波只为饥,方才一饱便思衣
  10. 学习Unix下C编程的实例
  11. avc水平什么意思_avc是什么意思(pvc是什么材质)
  12. 本周大新闻|佳能AR头显MREAL X1发布,Quest手势追踪2.0来袭
  13. 在linux上安装navicat 出现使用一段时间后闪退的情况
  14. vue 项目中实现pdf预览 pdf打印 pdf下载
  15. error C2533: “CTester::{ctor}”: 构造函数不能有返回类型
  16. round在python是什么意思_细说python中的round()方法
  17. RHEL 7.0已发布CentOS 7即将到来
  18. 一条有意思的SQL语句分析
  19. Ubuntu Linux 锐捷 ruijie 认证成功 校园网 西电 老校区 新校区
  20. 优思学院|六西格玛黑带的个人成功特质

热门文章

  1. ufs2.0测试软件,【玩机组教程】让你的一加3/3T的ufs2.0闪存速度焕发新生
  2. 一个列中多行求和_Excel 用选项求和及用快捷键快速求和,同时对多单元格求和...
  3. openwrt信号弱掉线_斐讯 FIR151M 频繁掉线(OpenWRT解决方案)
  4. mysql排序时设置主次_Mysql实现Rownum()排序后根据条件获取名次
  5. 删除用户的命令是什么mysql_mysql新添加用户与删除用户具体操作命令_MySQL
  6. pg日期转周_postgresql 存储过程函数:时间戳与日期字符串相互转换
  7. 4月11日 GCD 总结(一)
  8. 《开源思索集》一黑客的胜利——读《增长黑客》有感
  9. 关 于 正 则 表 达 式 的 类 习 题
  10. Win32窗口编程基础知识——主函数