51nod1405(树形dp)

链接:点击打开链接

题意:给定一棵无根树,假设它有n个节点,节点编号从1到n, 求任意两点之间的距离(最短路径)之和

代码:

#pragma comment(linker, "/STACK:102400000,102400000")
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
const long long SIZE=100005;
long long n,dp[SIZE],num[SIZE],used[SIZE];
vector G[SIZE];
void dfs1(long long s,long long sum){
    long long i,tmp;
    dp[1]+=sum;                                 //以1为根节点算出根节点
    used[s]=1;                                  //到所有节点的和
    for(i=0;i


 

你可能感兴趣的:(动态规划,---------树形dp)