news 2026/5/8 23:01:27

打卡信奥刷题(2660)用C++实现信奥题 P2848 [USACO16DEC] Cow Checklist G

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2660)用C++实现信奥题 P2848 [USACO16DEC] Cow Checklist G

P2848 [USACO16DEC] Cow Checklist G

题目描述

每天,Farmer John 都会穿过他的牧场,检查每头奶牛的健康状况。他的农场里有两类奶牛:荷斯坦牛和根西牛。他的HHH头荷斯坦牛被方便地编号为1…H1 \ldots H1H,而他的GGG头根西牛被方便地编号为1…G1 \ldots G1G1≤H≤1000,1≤G≤10001 \leq H \leq 1000, 1 \leq G \leq 10001H1000,1G1000)。每头奶牛都位于二维平面中的一个点(不一定不同)。

Farmer John 从荷斯坦牛111开始他的巡视,并在荷斯坦牛HHH结束。他希望沿途访问每头奶牛,并且为了方便维护他已经访问过的奶牛清单,他希望按照编号顺序访问荷斯坦牛和根西牛。在他访问的所有H+GH+GH+G头奶牛的序列中,编号为1…H1 \ldots H1H的荷斯坦牛应作为一个(不一定连续的)子序列出现,同样地,编号为1…G1 \ldots G1G的根西牛也应如此。换句话说,所有H+GH+GH+G头奶牛的序列应通过将编号为1…H1 \ldots H1H的荷斯坦牛列表与编号为1…G1 \ldots G1G的根西牛列表交错排列而成。

当 Farmer John 从一头奶牛移动到另一头奶牛,移动距离为DDD时,他会消耗D2D^2D2的能量。请帮助他确定按照上述巡视方式访问所有奶牛所需的最小能量。

输入格式

输入的第一行包含用空格分隔的HHHGGG

接下来的HHH行包含HHH头荷斯坦牛的xxxyyy坐标,随后的GGG行包含根西牛的坐标。每个坐标都是0…10000 \ldots 100001000范围内的整数。

输出格式

输出一行,表示 Farmer John 巡视所有奶牛所需的最小能量。

输入输出样例 #1

输入 #1

3 2 0 0 1 0 2 0 0 3 1 3

输出 #1

20

C++实现

#include<bits/stdc++.h>//可爱的懒人头文件usingnamespacestd;intn,m;longlongf[1009][1009][2],dis1[1009],dis3[1009],dis2[1009][1009];structnode{intx,y;}H[1009],G[1009];//写一个结构体intmain(){cin>>n>>m;for(inti=1;i<=n;i++){cin>>H[i].x>>H[i].y;//读入H第i个点的坐标}for(inti=1;i<=m;i++){cin>>G[i].x>>G[i].y;//读入G第i个点的坐标}for(inti=1;i<n;i++){dis1[i]=pow(H[i].x-H[i+1].x,2)+pow(H[i].y-H[i+1].y,2);}for(inti=1;i<m;i++){dis3[i]=pow(G[i].x-G[i+1].x,2)+pow(G[i].y-G[i+1].y,2);}for(inti=1;i<=n;i++){for(intj=1;j<=m;j++){dis2[i][j]=pow(H[i].x-G[j].x,2)+pow(H[i].y-G[j].y,2);}}memset(f,0x7f,sizeof(f));//初始化无穷大f[1][0][0]=0;for(inti=1;i<=n;i++){for(intj=0;j<=m;j++){f[i][j][0]=min(f[i][j][0],min(f[i-1][j][0]+dis1[i-1],f[i-1][j][1]+dis2[i][j]));if(j>0)f[i][j][1]=min(f[i][j][1],min(f[i][j-1][1]+dis3[j-1],f[i][j-1][0]+dis2[i][j]));//DP方程}}cout<<f[n][m][0];return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 3:03:50

Z-Image-Turbo随机种子妙用:复现理想图像的关键

Z-Image-Turbo随机种子妙用&#xff1a;复现理想图像的关键 阿里通义Z-Image-Turbo WebUI图像快速生成模型 二次开发构建by科哥 在AI图像生成领域&#xff0c;可重复性是提升创作效率和工程落地能力的重要前提。阿里通义推出的Z-Image-Turbo模型凭借其高效的推理速度与高质量的…

作者头像 李华
网站建设 2026/5/8 17:58:54

用AI自动生成Chrome扩展:MCP开发新思路

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Chrome浏览器扩展(MCP)&#xff0c;功能包括&#xff1a;1)在浏览器右上角显示图标&#xff1b;2)点击图标弹出浮动窗口&#xff1b;3)窗口内显示当前网页的元信息(标题、…

作者头像 李华
网站建设 2026/5/1 20:30:05

用PCA快速验证你的数据假设

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个快速数据探索工具&#xff1a;1. 允许用户上传CSV数据文件&#xff1b;2. 自动检测数据维度&#xff1b;3. 一键执行PCA分析&#xff1b;4. 即时显示降维结果和关键成分。…

作者头像 李华
网站建设 2026/5/8 21:37:34

如何用AI快速解决Windows蓝屏错误0X00000057

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个工具&#xff0c;能够自动解析Windows蓝屏错误代码0X00000057&#xff0c;并提供详细的解决方案。工具应包含以下功能&#xff1a;1. 错误代码解析模块&#xff0c;自动识…

作者头像 李华
网站建设 2026/5/7 2:45:05

无人机视角施工现场人员检测数据集VOC+YOLO格式4058张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数)&#xff1a;4058标注数量(xml文件个数)&#xff1a;4058标注数量(txt文件个数)&#xff1a;4058标注类别…

作者头像 李华
网站建设 2026/4/28 6:44:22

Docker Swarm 节点标签管理与调度策略全生命周期实战(10个完整例子)【20250108第1篇】

文章目录 Docker Swarm 节点标签管理与调度策略全生命周期实战(10个完整例子) 1. 查看当前节点标签状态 例子1:基于环境标签的服务部署(生产/测试环境隔离) 例子2:基于节点角色标签的数据库部署 例子3:基于地理位置标签的CDN边缘节点 例子4:基于硬件特性的GPU节点调度 …

作者头像 李华