题目:https://www.cometoj.com/contest/64/problem/D?problem_id=3526
注:本系列只为整理、保存比赛模板用,并非代码均为自己所写。会给出原代码的链接。
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,m,q,root,a[500010],cnt=1,head[500010]={0},son[500010]={0};
ll pw[500010];
vector<int>g[500010];
const ll base=20020415;
struct Edg{
int v,nxt;
}edg[500010];
struct node{
ll x;int y;
node(){x=y=0;}
node(ll _x,int _y){x=_x,y=_y;}
node operator + (node b){
return node(x*pw[b.y]+b.x,y+b.y);
}
bool operat