您当前的位置: 首页 > 

Acwing 1072 求树的直径(dfs || 树形dp)

先求一个导 发布时间:2022-03-15 20:55:48 ,浏览量:7

题目 题意: 求树的直径,但是可能有负边权,用两遍dfs不行。 思路: 树形dp. 以i为树根的最大路径为经过i的最大路 + 次大路,只要我们求出max{以每个点为树根的最大路+次大路}即可得到答案. 时间复杂度: O(n) 代码:

#include
using namespace std;
#define mem(a,x) memset(a,x,sizeof(a))
const int N = 1e4+10;
int h[N],e[N>y>>z;
	    add(x,y,z),add(y,x,z);
	}
	dfs(1,0);
	cout            
关注
打赏
1688896170
查看更多评论
0.0461s