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

P2214 [USACO14MAR] Mooo Moo S 解题笔记

思路:

完全背包问题。

对每个牧场做类似于差分的操作,求出每个牧场自身需要达到多少的音量。然后再对每个牧场需要达到的音量进行完全背包的操作,将答案统计进变量cnt中,最后输出cnt即可。

中途出现的错误:

  1. 完全背包模板中,每头牛的编号写成了每个容量。
  2. dp 数组未给出起始条件,应当dp[0] = 0
  3. 未判断不可解的情况,导致Wa了一个点。

code:

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n, m, a[105], b[105], dp[1000005], sum[105], cnt;
signed main() {cin >> n >> m;for(int i = 1;i <= m;i ++)  {cin >> b[i];}for(int i = 1;i <= n;i ++) {cin >> a[i];sum[i] = a[i] - a[i - 1];if(i != 1 && a[i - 1] > 1) sum[i] += 1;else if(i == 1 && a[i - 1] > 1) sum[i] += a[i - 1], sum[i] -= 1;if(sum[i] < 0) {cout << -1;return 0;}}for(int i = 1;i <= n;i ++) {if(sum[i] == 0) continue;for(int i = 0;i < 1000005;i ++) {dp[i] = 1e9;}dp[0] = 0;for(int j = 1;j <= sum[i];j ++) {for(int k = 1;k <= m;k ++) {if(b[k] <= j) dp[j] = min(dp[j], dp[j - b[k]] + 1);}}if(dp[sum[i]] == 1e9) {cout << -1;return 0;}cnt += dp[sum[i]];}cout << cnt;
}
http://www.jsqmd.com/news/16869/

相关文章:

  • P1854 花店橱窗布置 解题笔记
  • 什么是 DAQ
  • 央企程序员AI创业一个月感受 ✨
  • 微信小程序 在云函数本地调试时,总是提示node modules 未安装,立即安装。解决方法
  • 完整教程:C#开源项目:如何让100个贡献者比1个维护者更高效?
  • 使用PySide6/PyQt6实现自定义窗口布局,实现类似FluentWindow效果
  • 读书日记1
  • 对拍教程(自用)
  • 物理AI:智能自动化的下一个前沿
  • Write To Spreadsheet labview这是什么
  • 2025/10/19
  • tryhackme-预安全-网络基础知识-局域网介绍-05
  • 从众多知识汲取一星半点也能受益匪浅【day16(2025.10.18)】(加班但只加到四点半)
  • (个人思考)游戏技能的实现
  • 模拟赛T4 分析
  • UUT = Unit Under Test
  • ubuntu系统中containerd的cni网络配置
  • 十月阅读笔记
  • #20232408 2025-2026-1 《网络与系统攻防技术》实验二实验报告 - 20232408
  • 关于我的博客密码
  • UML图与数据流图
  • 题解:P2672 [NOIP 2015 普及组] 推销员
  • 如何选择合适的SAP实施公司?3步锁定靠谱的SAP服务商
  • 论DCT和IDCT的重要性,汇编SIMD版第一,此贴第二,就是这么狂 :-)
  • 这些SAP实施公司哪家强?国内比较好的SAP实施商推荐
  • 25秋周总结5
  • 博士研究文档管理技术指南
  • 10/19
  • apisix升级完整流程
  • 10.11-10.18 一周总结