hdu 2196 (树形DP)
摘要:
求出每一点到所有点的最大距离,刚开始就有点想法求最长边的问题,但想了一会不知道怎么去把子节点转化成根节点。任选一点为根节点,先求出每个节点到子节点的最大距离和次大距离,然后更新每个子节点的最大,次大距离,就是把每个子节点当一次根节点,如果它在父节点的最大距离边上,就用次大距离+到父节点的距离与自己的最大次大距离比较,,,, #include#include#define N 10001int n,head[N],num,vis[N],dp[N][2];struct edge{ int st,ed,next,w;}E[N*2];void addedge(int x,int y,in... 阅读全文