news 2026/4/15 17:20:46

算法竞赛备考冲刺必刷题(C++) | 洛谷 P1364 医院设置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法竞赛备考冲刺必刷题(C++) | 洛谷 P1364 医院设置

本文分享的必刷题目是从蓝桥云课洛谷AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。

欢迎大家订阅我的专栏:算法题解:C++与Python实现!

附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总


【题目来源】

洛谷:P1364 医院设置 - 洛谷

【题目描述】

设有一棵二叉树,如图:

其中,圈中的数字表示结点中居民的人口。圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为1 11。如上图中,若医院建在1 11处,则距离和= 4 + 12 + 2 × 20 + 2 × 40 = 136 =4+12+2\times20+2\times40=136=4+12+2×20+2×40=136;若医院建在3 33处,则距离和= 4 × 2 + 13 + 20 + 40 = 81 =4\times2+13+20+40=81=4×2+13+20+40=81

【输入】

第一行一个整数n nn,表示树的结点数。

接下来的n nn行每行描述了一个结点的状况,包含三个整数w , u , v w, u, vw,u,v,其中w ww为居民人口数,u uu为左链接(为0 00表示无链接),v vv为右链接(为0 00表示无链接)。

【输出】

一个整数,表示最小距离和。

【输入样例】

5 13 2 3 4 0 0 12 4 5 20 0 0 40 0 0

【输出样例】

81

【算法标签】

《洛谷 P1364 医院设置》 #动态规划DP# #树形数据结构# #广度优先搜索BFS# #最短路# #树的重心#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=105,M=N*2;// 定义常量,N: 最大节点数,M: 最大边数intn,w[N],u,v,ans=1e9,sum,dep[N];// n: 节点数, w: 节点权重, ans: 最小总代价inth[N],e[M],ne[M],idx;// 邻接表存储树voidadd(inta,intb){e[idx]=b,ne[idx]=h[a],h[a]=idx++;// 添加无向边}// DFS计算深度voiddfs(intu,intfa)// u: 当前节点, fa: 父节点{if(fa)// 如果有父节点dep[u]=dep[fa]+1;// 当前节点深度 = 父节点深度 + 1for(inti=h[u];i!=-1;i=ne[i])// 遍历当前节点的所有邻接点{intj=e[i];// 邻接节点jif(j==fa)continue;// 如果是父节点,跳过dfs(j,u);// 递归遍历子节点}}intmain(){memset(h,-1,sizeof(h));// 初始化邻接表cin>>n;// 输入节点数// 输入每个节点的权重和子节点for(inti=1;i<=n;i++){cin>>w[i]>>u>>v;// 权重, 左子节点, 右子节点if(u)// 如果有左子节点add(i,u),add(u,i);// 添加双向边if(v)// 如果有右子节点add(i,v),add(v,i);// 添加双向边}// 尝试每个节点作为根for(inti=1;i<=n;i++){sum=0;// 重置总代价memset(dep,0,sizeof(dep));// 重置深度数组dfs(i,0);// 以i为根进行DFS,计算各节点深度// 计算以i为根的总代价for(intj=1;j<=n;j++)sum+=w[j]*dep[j];// 代价 = 权重 × 深度ans=min(ans,sum);// 更新最小代价}cout<<ans<<endl;// 输出结果return0;}

【运行结果】

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

ComfyUI太复杂?Z-Image-Turbo WebUI更适合新手的5个理由

ComfyUI太复杂&#xff1f;Z-Image-Turbo WebUI更适合新手的5个理由 在AI图像生成领域&#xff0c;ComfyUI以其高度可定制性和节点式工作流赢得了技术爱好者的青睐。然而&#xff0c;对于刚接触AIGC的新手用户来说&#xff0c;复杂的节点连接、参数调试和配置流程往往成为入门…

作者头像 李华
网站建设 2026/4/7 13:45:20

MGeo推理结果后处理策略(阈值设定)

MGeo推理结果后处理策略&#xff08;阈值设定&#xff09; 背景与问题定义 在实体对齐任务中&#xff0c;地址数据的标准化与匹配是地理信息处理、城市计算和智能物流等场景中的核心环节。阿里云近期开源的 MGeo 模型&#xff0c;专注于中文地址语义相似度识别&#xff0c;在“…

作者头像 李华
网站建设 2026/4/13 20:39:52

中小企业降本利器:MGeo开源模型免费部署指南

中小企业降本利器&#xff1a;MGeo开源模型免费部署指南 在数字化转型浪潮中&#xff0c;中小企业面临数据治理成本高、地址信息标准化难的普遍痛点。尤其是在电商、物流、本地生活服务等领域&#xff0c;同一实体&#xff08;如门店、仓库、用户住址&#xff09;常因录入方式不…

作者头像 李华
网站建设 2026/4/13 0:11:51

游戏素材生成实战:Z-Image-Turbo快速产出角色原画方案

游戏素材生成实战&#xff1a;Z-Image-Turbo快速产出角色原画方案 在游戏开发中&#xff0c;角色原画是构建世界观与视觉风格的核心环节。传统手绘流程耗时长、成本高&#xff0c;尤其在原型设计阶段&#xff0c;频繁迭代对美术资源的响应速度提出了极高要求。随着AI图像生成技…

作者头像 李华
网站建设 2026/4/12 14:53:50

Z-Image-Turbo拼贴艺术Collage生成探索

Z-Image-Turbo拼贴艺术Collage生成探索 引言&#xff1a;从AI图像生成到创意拼贴的跃迁 随着AIGC技术的快速演进&#xff0c;图像生成已不再局限于单张高质量图片的输出。在内容创作、社交媒体运营和数字艺术设计等领域&#xff0c;多图组合式表达正成为主流趋势。阿里通义推出…

作者头像 李华
网站建设 2026/4/10 16:45:14

2026最新流出6款AI论文神器!1天搞定全文,告别熬夜赶稿

紧急预警&#xff1a;距离下一个论文Deadline&#xff0c;你只剩24小时&#xff1f; 凌晨3点的实验室、满屏标红的查重报告、导师第17条修改批注……如果你正在经历“论文焦虑循环”&#xff0c;现在必须立刻行动——2026年最新AI论文工具集已流出&#xff0c;其中**图灵论文A…

作者头像 李华