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

좋은 웹페이지 즐겨찾기