动态规划(算法竞赛、蓝桥杯)--树形DP树的直径(最长路径)

1、B站视频链接:E33 树形DP 树的直径_哔哩哔哩_bilibili

cpp 复制代码
#include <bits/stdc++.h> 
using namespace std;
const int N=10010,M=20010;
int n,a,b,c,ans;
struct edge{int v,w;};
vector<edge> e[N];

int dfs(int x,int fa){
	int d1=0,d2=0;
	for(auto ed:e[x]){
		int y=ed.v,z=ed.w;
		if(y==fa)continue;
		int d=dfs(y,x)+z;
		if(d>d1)d2=d1,d1=d;
		else if(d>d2)d2=d;
	}
	ans=max(ans,d1+d2);
	return d1;
}

int main(){
	cin>>n;
	for(int i=1;i<n;i++){
		cin>>a>>b>>c;
		e[a].push_back({b,c});
		e[b].push_back({a,c});
	}
	dfs(1,-1);
	cout<<ans;
	
	return 0;
}
相关推荐
灰灰勇闯IT1 小时前
KMP算法在鸿蒙系统中的应用:从字符串匹配到高效系统级开发(附实战代码)
算法·华为·harmonyos
小龙报1 小时前
【算法通关指南:数据结构和算法篇 】队列相关算法题:3.海港
数据结构·c++·算法·贪心算法·创业创新·学习方法·visual studio
csuzhucong1 小时前
一阶魔方、一阶金字塔魔方、一阶五魔方
算法
五花就是菜1 小时前
P12906 [NERC 2020] Guide 题解
算法·深度优先·图论
辞旧 lekkk1 小时前
【c++】封装红黑树实现mymap和myset
c++·学习·算法·萌新
星轨初途1 小时前
C++的输入输出(上)(算法竞赛类)
开发语言·c++·经验分享·笔记·算法
n***F8752 小时前
SpringMVC 请求参数接收
前端·javascript·算法
Liangwei Lin2 小时前
洛谷 P1025 [NOIP 2001 提高组] 数的划分
算法
yuuki2332332 小时前
【C++】类和对象(上)
c++·后端·算法
dangdang___go2 小时前
动态内存管理||malloc和free.realloc和calloc
c语言·开发语言·算法·动态内存管理