当前位置: 首页 > news >正文

题解:洛谷 2737 麦香牛块

【题目来源】

洛谷:[P2737 USACO4.1] 麦香牛块 Beef McNuggets - 洛谷

【题目描述】

农夫布朗的奶牛们正在进行斗争,因为它们听说麦当劳正在考虑引进一种新产品:麦香牛块。奶牛们正在想尽一切办法让这种可怕的设想泡汤。奶牛们进行斗争的策略之一是“劣质的包装”。“看,”奶牛们说,“如果你只用一次能装 \(3\) 块、\(6\) 块或者 \(10\) 块的三种包装盒包装麦香牛块,你就不可能满足一次只想买 \(1\)\(2\)\(4\)\(5\)\(7\)\(8\)\(11\)\(14\) 或者 \(17\) 块麦香牛块的顾客了。劣质的包装意味着劣质的产品。”

你的任务是帮助这些奶牛。给出包装盒的种类数 \(N\ (1 \le N \le 10)\)\(N\) 个代表不同种类包装盒容纳麦香牛块个数的正整数 \(b_i\ (1 \le b_i \le 256)\),输出顾客不能用上述包装盒(每种盒子数量无限)买到麦香牛块的最大块数。如果所有购买方案都能得到满足或者不存在不能买到块数的上限,则输出 \(0\)。不能买到的最大块数(如果它存在)不超过 \(2\times 10^9\)

【输入】

\(1\) 行:包装盒的种类数 \(N\)

\(2\) 行到 \(N+1\) 行:每个种类包装盒容纳麦香牛块的个数。

【输出】

输出文件只有一行数字:顾客不能用包装盒买到麦香牛块的最大块数或 \(0\)(如果所有购买方案都能得到满足或者顾客不能买到的块数没有上限)。

【输入样例】

3
3
6
10

【输出样例】

17

【算法标签】

《洛谷 P2737 麦香牛块》 #数学# #USACO#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 15;           // 最大硬币数量
const int MAX_VAL = 65025;  // 最大可能金额(256 * 256 - 256 - 256)int n;                      // 硬币数量
int a[N];                   // 存储硬币面值
int dp[MAX_VAL + 5];        // 动态规划数组,dp[j]表示能否凑出金额j
int ans;                    // 存储最大无法凑出的金额int main()
{// 输入硬币数量cin >> n;// 输入每个硬币的面值for (int i = 1; i <= n; i++){cin >> a[i];}// 初始化动态规划数组dp[0] = 1;  // 金额0总是可以凑出(不选任何硬币)// 完全背包:计算所有可凑出的金额for (int i = 1; i <= n; i++){// 遍历所有可能的金额for (int j = a[i]; j <= MAX_VAL; j++){// 如果j-a[i]可以凑出,那么j也可以凑出dp[j] |= dp[j - a[i]];}}// 从大到小查找第一个无法凑出的金额ans = 0;  // 初始化为0(表示所有金额都能凑出)for (int i = MAX_VAL; i >= 1; i--){// 如果当前金额无法凑出if (dp[i] == 0){ans = i;  // 记录最大无法凑出的金额break;    // 找到后立即退出循环}}// 如果所有金额都能凑出(ans >= MAX_VAL 表示没找到无法凑出的金额)if (ans == MAX_VAL){ans = 0;  // 设置结果为0}// 输出最大无法凑出的金额cout << ans << endl;return 0;
}

【运行结果】

3
3
6
10
17
http://www.jsqmd.com/news/399137/

相关文章:

  • 随手记
  • Python基于Vue的员工管理系统 django flask pycharm
  • Python基于Vue的在线学习管理系统 django flask pycharm
  • 题解:AcWing 3 完全背包问题
  • 瑞祥商联卡别闲置!新回收渠道来啦 - 京顺回收
  • 2026更新版!10个降AI率网站测评:专科生降AI率必备工具推荐
  • 真心不骗你 9个AI论文写作软件测评:自考毕业论文+开题报告高效工具推荐
  • Python基于Vue的 中小学生辅导平台django flask pycharm
  • 题解:质数和分解
  • 干货合集:AI论文平台 千笔写作工具 VS Checkjie,研究生专属写作神器!
  • 题解:P9265 [PA 2022] Chodzenie po linie
  • 导师又让重写?8个降AIGC工具测评:本科生如何高效降AI率过关?
  • 少走弯路:9个AI论文平台深度测评,研究生毕业论文写作必备工具推荐
  • 《投资-403》价值低估与价值变低,一字之差,含义千差万别,完全相反!前者是机会,后者是陷阱;前者是黄金坑,后者是无底洞!市面上大部分是无底洞,少部分是黄金坑。
  • 2026干冷器选购攻略:口碑与实力并存的厂商,空调机组/表冷器/乏风取热箱/空气幕/工业暖风机,干冷器实力厂家排行 - 品牌推荐师
  • 2025年高位货架厂家排行榜,实力口碑双认证,仓储货架承重/仓库货架摆放标准要求/仓储重型货架品牌排名高位货架源头厂家哪个好 - 品牌推荐师
  • 2025年市面上有名的酒店隔断设计哪家好,办公室隔断墙/办公隔断/自由组合隔断/电控玻璃隔断,酒店隔断定制怎么选择 - 品牌推荐师
  • 小学生兴趣班选购指南:不同目标下的机构推荐与课程分析 - 品牌测评鉴赏家
  • 题解:AcWing 1365 子集的和
  • 孩子想学人工智能:从兴趣启蒙到系统编程的机构与课程全面对比 - 品牌测评鉴赏家
  • 2026无锡紧固件生产厂家推荐,品质铸就品牌,涂胶/螺栓/非标螺丝/紧固件/标准件/螺丝/螺母,紧固件厂家联系方式 - 品牌推荐师
  • Python基于Vue的中医药健康科普信息系统-学习产生积分兑换商品 django flask pycharm
  • Python基于Vue的充电桩智能管理系统 django flask pycharm
  • 地理探测器和 GEO-SHAP 的应用场景讲解
  • 深度学习中的“dropout”(随机失活)正则化是什么意思?
  • 2026国内权威一站式专利代办网站,规模大的都在这!专利复审审查/个人专利代办/专利改写降重,专利代办网站怎么选 - 品牌推荐师
  • root@DESKTOP-PSN4LOR:~# 从 root 用户切换到你自己创建的普通用户 例如 itheima@DESKTOP-Q89USRE:~$ - Jacky
  • OpenClaw架构(2)- Agent as Resource
  • TCP交错传输多通道实现原理
  • 原生中文 + 全离线 + 极简部署,PicoClaw 让 OpenClaw/NanoBot 瞬间不香了