当前位置: 首页 > 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.jsqmd.com/news/83790/

相关文章:

  • wangEditor处理ppt动画效果转网页兼容
  • FilamentPHP 3.3.15版本发布:表单构建革命与性能飞跃
  • Prompt Engineering生产部署终极指南:从实验室到生产环境的完整跨越
  • 仅需8GB显存:Wan2.1开源视频生成模型让每个人都能创作动态内容
  • Data Formulator:AI驱动的数据可视化如何重塑企业决策效率
  • 栈:数据结构中的 “线性管家”—— 从理论基础到统计领域实践应用
  • 终极企业级权限管理解决方案:零代码配置实现300%开发效率提升
  • BoringNotch安装配置教程:将MacBook凹口变为动态音乐控制中心
  • Linux权限管理知识点
  • 【计算机毕设推荐】基于Spark+Python的饮食风味数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
  • 26、第三方集群解决方案及相关技术解析
  • 为什么视频生成稀疏注意力做不好?中科院自动化所最新提出稀疏注意力纠偏新范式
  • 游戏深度魔法:Flame引擎视差滚动技术的实战解析
  • 【Qt开源项目】— ModbusScope-day 2
  • 吐血整理,性能测试的左移右移+性能基线实践,详细分析...
  • P2746题解
  • Arnis终极配置指南:3步将现实城市完美导入Minecraft
  • 企业级AI路由网关:解锁多模型智能调度的未来
  • LOOT完整使用指南:游戏模组加载顺序优化利器
  • 闪电AI文档转换Lite:让8种格式转换从“繁琐“变“一键“的离线革命
  • 15. Vue工程化 + ElementPlus
  • DBeaver崩溃救星:3步紧急恢复SQL脚本的完整方案
  • 【URP】Unity[后处理]色差ChromaticAberration
  • 设备故障排查还在翻手册?AI 让运维效率翻倍
  • Gitleaks配置终极指南:5分钟从零到精通的完整教程
  • Aurora UI 安装配置终极指南
  • LLM技术文档版本管理的终极实战指南
  • 本地铝丝打卡机生产厂家排行,口碑之选推荐,打卡机公司优选实力品牌 - 品牌推荐师
  • SoFixer:专业修复内存dump的So文件工具完全指南
  • 5大React动画库生态对比:从入门到精通的全栈解决方案