CF258E Little Elephant and Tree

题目描述

小象非常喜欢树,他尤其喜欢有根树。 他有一棵根节点编号为 $1$,节点数为 $n$ 的有根树,所有节点编号从 $1$ 到 $n$。这棵树每个节点都有一个集合,初始为空。 他想进行 $m$ 次操作,第 $i(1\le i\le m)$ 次操作给出 $a_i$ 和 $b_i$,把 $i$ 这个数字分别放入 $a_i$ 和 $b_i$ 这两个点为根的子树里的所有集合中。(包括 $a_i$ 和$ b_i$ ) 在所有操作结束后,输出 $c_i$ 表示有多少个结点(不包括 $i$ 本身)的集合至少与 $i$ 结点的集合有一个公共数字。

输入格式

第一行两个整数 $n,m(1 \le n,m \le 10^5)$,表示结点数和操作数。 接下来 $n-1$ 行,每行两个数 $u_i,v_i(1\le u_i,v_i\le n,u_i\ne v_i)$,表示从 $u_i$ 到 $v_i$ 有一条边。 接下来 $m$ 行,每行两个数 $a_i,b_i(1\le a_i,b_i\le n,a_i\ne b_i)$ 表示对这两个点为根节点的子树进行操作。

输出格式

输出一行 $n$ 个数,$c_1,c_2,c_3\cdots c_n$。