news 2026/4/16 22:56:44

打卡信奥刷题(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/4/15 7:38:12

apds.dll文件丢失找不到 打不开问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/16 12:52:37

社区团购优化:团长地址智能去重实战

社区团购优化&#xff1a;团长地址智能去重实战 社区电商平台运营中&#xff0c;团长地址管理是个让人头疼的问题。当系统把"幸福苑3号楼张姐"和"张阿姨(幸福苑3单元)"识别为两个不同团长时&#xff0c;不仅造成资源浪费&#xff0c;还影响用户体验。本文将…

作者头像 李华
网站建设 2026/4/15 7:38:24

学长亲荐!MBA开题报告TOP8 AI论文网站测评

学长亲荐&#xff01;MBA开题报告TOP8 AI论文网站测评 2026年MBA开题报告AI论文工具测评&#xff1a;为何值得一看 在MBA学习过程中&#xff0c;撰写开题报告是至关重要的一环&#xff0c;而如何高效、高质量地完成这一任务&#xff0c;往往成为学生们的共同难题。随着人工智能…

作者头像 李华
网站建设 2026/4/15 7:38:08

3.4 磁悬浮轴承:电磁热分析与损耗计算

3.4 电磁热分析与损耗计算 磁悬浮轴承在运行过程中,其电磁部件(定子铁芯、线圈、转子铁磁部件及永磁体)内部会产生功率损耗,并转化为热能。这些损耗若不能有效导出,将导致部件温度升高,引发一系列问题:线圈绝缘老化甚至烧毁、永磁体不可逆退磁、材料机械性能下降、热膨…

作者头像 李华
网站建设 2026/4/15 7:39:44

4.2 径向轴承结构设计:定子叠片结构、线圈骨架与绕线方案、冷却通道设计

4.2 径向轴承结构设计:定子叠片结构、线圈骨架与绕线方案、冷却通道设计 径向磁轴承的电磁性能最终需要通过精密、可靠且可制造的机械结构来实现。其结构设计是将电磁原理图转化为实体装备的关键环节,直接决定了轴承的出力密度、效率、热管理能力、动态响应以及长期运行可靠…

作者头像 李华
网站建设 2026/4/15 10:48:42

AJAX vs 传统表单提交:效率对比实测

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个对比测试页面&#xff0c;包含&#xff1a;1) 传统表单提交的完整流程&#xff1b;2) AJAX异步提交实现&#xff1b;3) 性能监测代码记录两者耗时和网络请求大小&#xff…

作者头像 李华