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

P1131题解

问题:
有一个树形结构的电路板,其中有一个激发器(根节点),电流从根节点出发,沿着树边传播到所有叶子节点(终止节点)。每条边有一个传播时间,我们需要通过增加某些边的传播时间,使得所有叶子节点同时接收到电流。
解法:
贪心:
从叶子节点开始向上处理
对于每个节点,计算从其到其子树中叶子节点的最大路径长度
对于节点的每个子节点,将它们的路径长度补齐到这个最大值
向上传递时,加上当前节点到父节点的边权
算法:
使用BFS或DFS建立树结构(因为N很大,需要避免递归深度过大)
通过拓扑排序(从叶子到根)处理节点
对于每个节点:
找到所有子节点中的最大f[y]+w(即最大路径长度)
将所有子节点的路径长度补齐到这个最大值
当前节点的f[x]=这个最大值
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=500010;
int h[N],v[N<<1],nxt[N<<1],cnt,d[N<<1];
long long res,f[N];
int q[N],fa[N];
void add(int x,int y,int z)
{
v[++cnt]=y;
d[cnt]=z;
nxt[cnt]=h[x];
h[x]=cnt;
}
int main()
{
int n,st;
scanf("%d%d",&n,&st);

for(int i=1;i<n;i++)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
add(x,y,z);
add(y,x,z);
}
int l=0,r=0;
q[0]=st;
fa[st]=0;
while(l<=r)
{
int x=q[l++];
for(int i=h[x];i;i=nxt[i])
{
int y=v[i];
if(y==fa[x]) continue;
fa[y]=x;
q[++r]=y;
}
}
for(int i=r;i>=0;i--)
{
int x=q[i];
long long mx=0;
for(int j=h[x];j;j=nxt[j])
{
int y=v[j],w=d[j];
if(y==fa[x]) continue;
f[x]=max(f[x],f[y]+w);
}
for(int j=h[x];j;j=nxt[j])
{
int y=v[j],w=d[j];
if(y==fa[x]) continue;
res+=f[x]-(f[y]+w);
}
}
printf("%lld\n",res);
return 0;
}

http://www.cnnetsun.cn/news/41244.html

相关文章:

  • DBeaver崩溃救星:3步紧急恢复SQL脚本的完整方案
  • 项目效率翻倍,做对了什么?
  • 少儿编程考试路径规划:考级与竞赛时间如何平衡?
  • 火星漫游车Rocker-Bogie悬挂系统核心技术深度解析与实战指南
  • ImmortalWrt网络流量监控完全指南:快速排查网络异常与优化带宽分配
  • 青少年编程考级的三大核心价值:目标建立与能力提升
  • 大疆(DJI)前端开发岗位面试经验总结与备战指南
  • AI难?看涂鸦智能、Lark和德勤中国如何借亚马逊云科技突围
  • Kimi-K2-Instruct模型部署指南:从快速入门到生产级优化
  • 企业级系统监控UI架构设计与性能优化实战
  • 多模态智能体如何重塑人机交互:UI-TARS-1.5的三大技术突破与应用前景
  • 快速排序:10分钟掌握高效算法精髓
  • windows著名漏洞——Zerologon(零登录)
  • 6、技术写作风格与在线文档写作指南
  • 文章查重率超出限制?五个步骤轻松降低至安全线
  • 12、技术文档创作与信息管理全解析
  • 9大AI论文平台对比:智能生成开题框架与完整论文内容
  • 学术写作利器:9款AI工具测评,精准生成开题报告与论文初稿
  • 20、文档制作全流程指南
  • GPT-20B无限制版:本地部署大模型的技术革命与实战指南
  • MPK(Mirage Persistent Kernel)源码笔记(4)--- 转译系统
  • 中国地形数据完整指南:5分钟快速上手ArcGIS地形分析
  • 为什么我的应用会卡顿?垃圾回收中的STW难题与破解之道
  • 深入解析 JuiceFS 垃圾回收机制
  • Wi-Fi 6之后,未来家庭路由的几大核心看点
  • FFmpeg开发笔记(八十七)采用Kotlin的手机开源播放器VLC-Android
  • PostgreSQL实时数据同步:5分钟掌握pg_replicate终极指南
  • Monkey‘s Audio(无损音频压缩器)
  • ChatPDF终极指南:5分钟学会与PDF文档智能对话
  • 如何快速解决ComfyUI-SeedVR2依赖冲突:完整避坑指南