uoj 279: [清华集训2016]温暖会指引我们前行

       考前鏼一题保平安,,求明天rp++

       显然就是lct维护动态最大生成树,然后就没了。(写得最短好开心啊>.<)

       另外有没有老司机告诉我findroot的时候不pushdown究竟会不会出问题啊,,在线等,挺急的。

AC代码如下:

#include
#define N 400005
#define isrt(x) (c[fa[x]][0]!=x && c[fa[x]][1]!=x)
using namespace std;

int n,m,tp,q[N],e[N][2],c[N][2],fa[N]; bool rev[N];
struct node{ int t,len,mn,sum; }a[N];
void maintain(int x){
	node &o=a[x],&l=a[c[x][0]],&r=a[c[x][1]];
	o.mn=x; o.sum=o.len;
	if (c[x][0]){
		if (a[l.mn].t


by lych

2017.3.22

       

你可能感兴趣的:(uoj,lct)