E91 换根DP P3647 [APIO2014] 连珠线

news/2024/12/24 12:35:48/文章来源:https://www.cnblogs.com/dx123/p/18627173

视频链接:E91 换根DP P3647 [APIO2014] 连珠线_哔哩哔哩_bilibili

 

 

 

 

P3647 [APIO2014] 连珠线 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

// 换根DP O(n)
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;int read(){int x=0,f=1;char s=getchar();while(s>'9'||s<'0'){if(s=='-') f=-1;s=getchar();}while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();}return x*f;
}
typedef long long LL;
const int N = 200005;
struct E{int v,w;};
vector<E> e[N];
int n,son[N];
LL mx[N],mx2[N],d[N],ans;
LL f[N][2],g[N][2],h[N][2];void dfs(int u,int fa){mx[u]=mx2[u]=-2e9;for(E i:e[u]){int v=i.v,w=i.w;if(v==fa) continue;d[v]=w;dfs(v,u);f[u][0]+=max(f[v][0],f[v][1]+w);LL t=f[v][0]+w-max(f[v][0],f[v][1]+w);if(mx[u]<t) mx2[u]=mx[u],mx[u]=t,son[u]=v;else if(mx2[u]<t) mx2[u]=t;}f[u][1]=f[u][0]+mx[u];
}
void dfs2(int u,int fa){for(E i:e[u]){int v=i.v,w=i.w;if(v==fa) continue;h[u][0]=g[u][0]-max(f[v][0],f[v][1]+w);h[u][1]=h[u][0]+(son[u]==v?mx2[u]:mx[u]);if(fa!=0){LL t=h[fa][0]+d[u]-max(h[fa][0],h[fa][1]+d[u]);h[u][1]=max(h[u][1],h[u][0]+t);} g[v][0]=f[v][0]+max(h[u][0],h[u][1]+w);dfs2(v,u);}
}
int main(){n=read();for(int i=1;i<n;++i){int x=read(),y=read(),z=read();e[x].push_back({y,z});e[y].push_back({x,z});}dfs(1,0);g[1][0]=f[1][0];dfs2(1,0);for(int i=1;i<=n;++i) ans=max(ans,g[i][0]);printf("%lld",ans);
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/858074.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KeilV5在线找器件支持包

在keil软件中选择Pack installer 进入之后,会自动获取软件最新的包列表。速度较慢,需要长时间等待

WSL2 ubuntu18.04 使用xfce4时Xlaunch黑屏问题以及解决,X server already running on display 10.255.255.254:0

显示xfce4 启动成功却没有画面显示 在Ubuntu终端输入 startxfce4 启动X服务时,显示:/usr/bin/startxfce4: X server already running on display 10.255.255.254:0,且Xlaunch黑屏无输入。如图所示:分析原因:出现X server already running on display 10.255.255.254:0 说…

Java 实战项目:Spring Boot + MyBatis Plus + MySQL + Shiro + Thymeleaf 赋能仓库管理系统设计与实现

1. 项目概述 本仓库管理系统旨在实现对仓库中商品、供应商、客户、员工、权限、日志等信息的有效管理,提升仓库运营效率和管理水平。系统主要功能包括基础数据管理、进货管理、销售管理、库存管理、系统管理等。 2. 系统架构 2.1技术选型后端:Spring Boot + MyBatis Plus + M…

.NET Freamework 创建windows 服务

使用.NET Freamework 创建windows 服务 今天有需求需要新写一个windows 服务,发现资料找不到了。顺着模板一点一点写,需要对照微软的资料。这里自己重新整理一份,由于不需要使用跨平台,所以我还是使用.NET Framework 4.8下的windows 服务。微软文档地址如下: 如何:创建 W…

国内外10大知名项目进度跟踪工具对比分析

在当今竞争激烈的商业环境中,项目的成功交付离不开高效的项目进度跟踪工具。无论是大型企业的复杂项目,还是小型团队的敏捷开发,合适的工具都能起到事半功倍的效果。今天,我们将深入对比分析国内外 10 大知名项目进度跟踪工具,包括 Jira、Trello、Asana、Redmine、禅道、M…

【数据库开发】探索数据库智能运维之数据库关键运行指标

随着金融业务转型步伐加快、业务连续性要求趋严,对金融业信息系统运行的稳定性要求日益提升。数据库作为信息系统中关键技术基础,如何应用数据库海量运行数据,提升运行指标数据观测性,及时发现数据库运行潜在风险,是G行数据库管理团队一直探索的课题。 数据库管理团队负责…

*动手学AI辅助编程* 学习笔记day1

按照教程的步骤走,小白也能很快用ai做出自己的小玩意 本次使用的平台是豆包的marscode,非常好用,很轻便,不需要自己安装环境。 新手友好,甚至超越cursor教程链接:Datawhale-AI活动 平台链接:豆包 MarsCode - 工作台 学习成果:

【GO应用】编译时插桩,Go应用监控的最佳选择

阿里妹导读 本文讲解了阿里云编译器团队和可观测团队为了实现Go应用监控选择编译时插桩的原因,同时还介绍了其他的监控方案以及它们的优缺点。 可观测性是以系统的指标、日志、链路追踪、持续剖析四大数据支柱为基础,从宏观到微观,通过不同数据之间互相关联,衍生出如数据监…

USACO计算机竞赛2024-2025即将开考 报名方式、考点内容全解析

USACO计算机竞赛2024-2025即将开考 报名方式、考点内容全解析USACO竞赛已经有30多年举办历史,吸引了全球众多计算机编程爱好者参赛,且比赛门槛低,中小学都可以参赛!如果学生有足够的算法能力,那么很有可能在USACO竞赛中拿到名次,助力名校申请。 查看以往MIT录取学生简历,…

elasticsearch修改Ik分词器源码实现基于MySQL更新分词

本文主要记录如何修改Ik分词器源码来实现基于MySQL数据库更新分词,所有步骤均为本人实际操作验证。如果你也刚好刷到这篇文章,希望对你有所帮助。 使用过Ik分词器的应该都知道,它提供了三种配置热词词库的方式:Ik内置词库 Ik外置静态词库 Ik远程词库 具体可以去看Ik的配置文…

从家电的“大成”到汽车的“认怂”,苏峻的工业设计追梦之路

孕育三年八个月,iCAR V23是苏峻进入汽车产业的第一个“孩子”,12月16日带着明星气质呱呱落地。 很巧,苏峻的上一个创业项目——米家空气净化器,落地正好十周年。和净化器一经面试即大成相比,iCAR V23上市后,苏峻的第一次发声,却是认错的内容——V23上市后,第一时间听取…

Vue2环境中AntDeisgn1.x的树形下拉选择组件

示例相关代码 <a-tree-selectv-model="type"show-searchstyle="width: 100%":dropdown-style="{ maxHeight: 400px, overflow: auto }"placeholder="请选择"allow-clear:tree-data="treeData":filter-tree-node="fi…