树上的启发式合并 CF1009 F. Dominant Indices

http://codeforces.com/contest/1009/problem/F

讲解:http://codeforces.com/blog/entry/44351

讲解中的问题是解决树上结点特性查询,而本题是查询相对于一个结点每一层根的个数。

#include
#define maxn 1000010
using namespace std;
typedef pair P;
vector G[maxn];
int sz[maxn];
int dep[maxn],cnt[maxn],ans[maxn];
priority_queue

q; void getsz(int v,int fa) { sz[v]=1; for(int i=0;imx) { mx=sz[G[v][i]]; bigChild=G[v][i]; } } for(int i=0;i

 

你可能感兴趣的:(数据结构)