动态规划(算法竞赛、蓝桥杯)--树形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;
}
相关推荐
TracyCoder1236 小时前
LeetCode Hot100(15/100)——54. 螺旋矩阵
算法·leetcode·矩阵
u0109272717 小时前
C++中的策略模式变体
开发语言·c++·算法
2501_941837267 小时前
停车场车辆检测与识别系统-YOLOv26算法改进与应用分析
算法·yolo
六义义8 小时前
java基础十二
java·数据结构·算法
四维碎片8 小时前
QSettings + INI 笔记
笔记·qt·算法
Tansmjs8 小时前
C++与GPU计算(CUDA)
开发语言·c++·算法
独自破碎E9 小时前
【优先级队列】主持人调度(二)
算法
weixin_445476689 小时前
leetCode每日一题——边反转的最小成本
算法·leetcode·职场和发展
打工的小王9 小时前
LeetCode Hot100(一)二分查找
算法·leetcode·职场和发展
Swift社区10 小时前
LeetCode 385 迷你语法分析器
算法·leetcode·职场和发展