#43910. 祖先
祖先
暂无测试数据。
DD 学习了关于树上公共祖先的知识。
LCA(Lowest Common Ancestors),即最近公共祖先,是这样一个问题:在有根树中,找出某两个结点 $u$ 和 $v$ 最近的公共祖先(或者说,离树根最远的公共祖先)。
现在给定一棵树,给定树根,萨摩耶不断给出询问 $a_i$ ,DD 需要回答出有多少点对 $(x,y)$(其中 $x,y$ 可以相等)的 LCA 是 $a_i$,答案对 $10^9+7$ 取模
输入格式
第一行三个整数,分别表示 $n,m,root$
接下来 $n-1$ 行每行两个整数,表示边连接着 $u_i,v_i$
接下来一行 $m$ 个整数,第 $i$ 个表示 $a_i$
输出格式
对于每次询问回答有多少个点对的 LCA 符合条件
数据范围
对于 $20\%$ 的数据,$1 \leq n,m \leq 500$
对于 $50\%$ 的数据,$1 \leq n,m \leq 10^4$
对于 $100\%$ 的数据,$1 \leq n,m \leq 10^6$
7 3 1
1 2
1 3
2 4
2 5
3 6
3 7
1 2 4
31
7
1