动态规划(算法竞赛、蓝桥杯)--树形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;
}
相关推荐
aini_lovee10 小时前
严格耦合波(RCWA)方法计算麦克斯韦方程数值解的MATLAB实现
数据结构·算法·matlab
安特尼10 小时前
推荐算法手撕集合(持续更新)
人工智能·算法·机器学习·推荐算法
鹿角片ljp10 小时前
力扣14.最长公共前缀-纵向扫描法
java·算法·leetcode
Remember_99310 小时前
【数据结构】深入理解优先级队列与堆:从原理到应用
java·数据结构·算法·spring·leetcode·maven·哈希算法
偷星星的贼1110 小时前
C++中的状态机实现
开发语言·c++·算法
程序员敲代码吗11 小时前
C++中的组合模式实战
开发语言·c++·算法
52Hz11811 小时前
二叉树理论、力扣94.二叉树的中序遍历、104.二叉树的最大深度、226.反转二叉树、101.对称二叉树
python·算法·leetcode
Shirley~~11 小时前
leetcode移除元素
javascript·数据结构·算法
普贤莲花11 小时前
新生2026年1月20日---星期二(大寒)
程序人生·算法·leetcode
高洁0111 小时前
产品数字孪生体与数字样机及数字化交付的应用
人工智能·深度学习·算法·数据挖掘·transformer