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

洛谷 P2214 [USACO14MAR] Mooo Moo S 题解

题目链接

洛谷 P2214 [USACO14MAR] Mooo Moo S

思路分析

首先,我们要先求出每个牧场产生的音量,由题意第 \(i\) 个牧场音量只需用输入的 \(a_i\) 减去 \(a_{i-1}-1\) 即可。但是,因为每只牛发出的音量都为正,所以如果算出来某个牧场产生的音量为负数,直接输出 -1 即可。

其次,对于求出最少有多少只牛,我们定义 \(dp_j\) 表示音量为 \(j\) 时最少需要的牛的只数,就变成了一个完全背包,以音量为背包容量,牛发出的音量为物品,状态转移方程即为 \(dp_j=\min{(dp_j,dp_{j-v_i}+1)}\),其中 \(i\) 遍历牛的种类。

代码呈现

#include<bits/stdc++.h>
using namespace std;const int N=105,B=25,M=1e5+10;
int n,b;
int v[B],a[N],dp[M];int main(){scanf("%d%d",&n,&b);for (int i=1;i<=b;++i) scanf("%d",v+i);for (int i=1;i<=n;++i) scanf("%d",a+i);for (int i=n;i>1;--i){if (a[i-1]-1>a[i]){ printf("-1");return 0; } // 牧场产生音量为负a[i]-=max(0,a[i-1]-1);}memset(dp,0x3f,sizeof dp);dp[0]=0;for (int i=1;i<=b;++i){for (int j=v[i];j<M;++j) dp[j]=min(dp[j],dp[j-v[i]]+1);}int ans=0;for (int i=1;i<=n;++i){if (dp[a[i]]==0x3f3f3f3f){ printf("-1");return 0; }ans+=dp[a[i]];}printf("%d",ans);return 0;
}
http://www.jsqmd.com/news/702900/

相关文章:

  • 3步搞定E-Hentai漫画下载:免费批量下载终极方案
  • 2026年深圳安全私密的月子中心推荐,百悦欣禧性价比超高 - 工业推荐榜
  • 2026年深圳性价比高的月子中心哪家好,百悦欣禧给出答案 - 工业品牌热点
  • 分析上海次日达的加急文件选哪家快递,这些品牌性价比超高 - mypinpai
  • 评估中通物流服务,在杭州好用吗及费用多少钱 - myqiye
  • 保姆级教程:在VMware Workstation 17 Pro上一步不差安装Rocky Linux 9.3(含网络配置与分区避坑指南)
  • 也谈智能中的非概率、反概率
  • 中兴光猫终极解锁指南:5分钟获取完整控制权限
  • 题解:AT_abc405_f [ABC405F] Chord Crossing
  • 告别卡顿!这样给你的Windows 11虚拟机分配硬件资源,性能直接起飞
  • 给娃报名蓝桥等考,这500块到底值不值?一篇讲透Scratch/Python/C++全组别18级规划
  • 从人口普查Excel数据到Power BI仪表盘:一步步教你做可视化分析
  • ROFL播放器:英雄联盟回放文件的终极解析与播放指南
  • 分析节假日寄加急文件,上海地区哪些快递品牌正常发且靠谱 - 工业设备
  • ThinkPad双风扇智能控制终极指南:如何让Windows 10/11笔记本散热更高效更安静
  • 汽车诊断工程师必看:UDS 0x83服务(访问时序参数)的四种模式到底怎么用?
  • 避坑指南:在Ubuntu 20.04上编译VINS-Fusion时,如何解决Ceres库的C++14编译错误?
  • 终极指南:3分钟掌握Blender UV Squares插件,一键规整UV网格布局
  • 2026年了解中通快递市场份额占比,看看其在农村服务能力和满意度提升策略 - 工业推荐榜
  • WindowResizer:Windows窗口强制调整大小的终极解决方案
  • VideoDownloadHelper:轻松下载网页视频的浏览器扩展工具
  • 给SiC MOSFET做‘体检’:聊聊短路测试那点事儿(双脉冲/非线性元件法)
  • 如何让老旧Mac重获新生:OpenCore Legacy Patcher完全指南
  • 深聊2026年幸运瞳智慧视力训练仪招募代理,哪个区域更合适? - myqiye
  • UV Squares终极指南:3分钟学会Blender UV网格化神奇技巧
  • 技术解密:Noto Emoji 跨平台表情符号渲染架构
  • 别再死记硬背了!用C#写个Modbus调试助手,搞定上位机通信面试题
  • Qwen3-4B-Thinking部署案例:政务热线AI坐席原型系统——Chainlit语音转文字+vLLM应答
  • Venera漫画应用:如何构建智能漫画源更新与自动化管理方案
  • 如何用VinXiangQi象棋AI连线工具提升你的对弈水平:三步快速上手指南