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

[洛谷-P1364] 医院设置

普通的floyd就不讲了,如果数据量到了1e5以上,这就是一道树的重心的变式,求带权的重心。或者说用树型dp或dfs来优化最小值的查找。最终时间复杂度 \(O(n)\) 。以下代码是第一篇题解的风格变化+注释。

#include <bits/stdc++.h>
#define int long long
using namespace std;
constexpr int maxn=1e4+10;// 题目数据小随便开
constexpr int maxm=2e4+10;
constexpr int INF=LONG_LONG_MAX>>1;typedef struct edge
{int to,nex;
}edge;edge edges[maxn];
int enums,heads[maxn];
int wi[maxn],siz[maxn],tal[maxn];
// siz[i]-以i为根的权值和
// tal[i]-以i为根的权值*路长的和
int ans=INF;void add_edge(int x,int y)
{edges[++enums]={y,heads[x]};// 非常的压抑heads[x]=enums;
}void dfs(int u,int fa,int dep)
{// 初始化siz和tal[1]siz[u]=wi[u];for(int i=heads[u];i;i=edges[i].nex){if(edges[i].to!=fa){dfs(edges[i].to,u,dep+1);//直到没有孩子siz[u]+=siz[edges[i].to];// 加上子树的权值}}tal[1]+=wi[u]*dep;
}void dp(int u,int fa)
{// 从 u到 v,对于子树来说:距离-1,总贡献 -siz[v]。// 对其他点:距离+1,总贡献+siz[1]-siz[v]for(int i=heads[u];i;i=edges[i].nex){if(edges[i].to!=fa){tal[edges[i].to]=tal[u]-2*siz[edges[i].to]+siz[1];dp(edges[i].to,u);}}ans=min(ans,tal[u]);
}signed main()
{int n;int a,b;scanf("%lld",&n);for(int i=1;i<=n;++i){scanf("%lld%lld%lld",&wi[i],&a,&b);if(a){add_edge(i,a);add_edge(a,i);}if(b){add_edge(i,b);add_edge(b,i);}}dfs(1,0,0);dp(1,0);printf("%lld\n",ans);return 0;
}
http://www.rkmt.cn/news/57612.html

相关文章:

  • 实现五折交叉验证进行模型训练 -
  • 实用指南:Jenkins 持续集成与部署指南
  • 2025年11月DR耐油橡胶热缩管,氟橡胶热缩管,防滑花纹热缩管厂家最新推荐:耐老化性能实测榜单
  • 电梯调度问题的三次迭代
  • 4-java
  • 重构高阶智驾:天瞳威视以国产芯片,解锁Robotaxi平民化路径 - 实践
  • PyCharm,Run Configurations,Python interpreter下拉框会显示哪些地方的python.exe
  • Deepseek大模型结合Chrome搜索爬取2025AI投资趋势数据 - 指南
  • call 与 delegatecall - all-in
  • 洛谷 P5658 [CSP-S 2019] 括号树 题解
  • .NET+AI | MEAI | Function Caling 实操(4)
  • Java中HashMap的核心原理与使用注意事项
  • MinIo介绍 - 努力-
  • 南昌航空大学-ptajava
  • Wi-Fi FTM 技术 10 年后展望
  • Docker使用【镜像】 - 指南
  • 2025年11月22日训练赛
  • Linux命令绕过 - 教程
  • MyBatis Flex 讲解使用
  • 一种自定义二维码的加码、解码、识别和绘制算法的逆向和重构
  • 浅谈最近星某克被指追杀式营销的技术实现方式和商业价值利弊
  • 数据库常用编码和压缩算法介绍
  • hive sql开发有啥优势
  • 完整教程:《工业之心:Blender 工业场景解构》
  • 深入解析:pip 的包下载之后存放在哪?
  • 图书馆管理系统需求改进和系统设计
  • docker compose插件安装
  • 多机elasticsearch集群部署,超详细教程
  • DeepSeek 提取 交易所网站核心500词汇(名词与术语)
  • 2025年布袋除尘器供应商权威推荐榜单:塑烧板除尘器/耐高温除尘器/防爆除尘器源头厂家精选