如果你 5pts,可能是 push_down 顺序写反了,正确的顺序是先乘、再加、最后翻转
如果你 20pts,可能是主函数中先执行完所有 link 再初始化信息,要边 link 边初始化。
for(int i=1,x,y;i<n;i++) x=read(),y=read(),tr.link(x,y),tr.mul[i]=a[i]=1; tr.mul[n]=a[n]=1;