[POI2008] STA-Station - 树形dp

很显然的递推式ans[q] = ans[p] + n - 2*siz[q];

这么个题你卡我常干嘛,害得我加快读

(谁叫我是vector党呢

#include 
using namespace std;

#define int long long
const int N = 1000006;

inline int read(){
    int s=0,w=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
    while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
    return s*w;
}

int n,siz[N],vis[N],sum[N],ans[N],t1,t2;
vector  g[N];

void dfs1(int p) {
    vis[p]=1;
    siz[p]=1;
    for(int i=0;i

你可能感兴趣的:([POI2008] STA-Station - 树形dp)