题号:NC23058
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
小 X 决定出一道送温暖题来和大家一起愉悦
他给了你一棵 n 个节点的树,每个点有个点权
现在他给了你 Q 个询问,每次会给定 L,R ,然后定义满足

的点 i 为关键点
你需要回答出满足下列至少一个条件的点 x 的个数:
1. x 是关键点
2. 在树上删去 x 和所有与其相连的边后,存在两个关键点 a,b ,使得 a 和 b 不连通
输入描述:
第一行两个整数 n,Q
第二行 n 个整数,表示
接下来 n - 1 行,每行两个整数 u,v ,表示树上有一条连接点 u 和点 v 的边
接下来 Q 行,每行两个整数 L,R
输出描述:
Q 行,每行一个整数,表示本次询问的答案
示例1
输入
复制
5 4
7 7 7 1 10
1 2
1 3
2 4
2 5
1 10
1 7
7 10
1 1
备注:
对于所有的数据,保证

为了防止被卡常,请使用读入优化
在此顺便提供一个硬核优化:https://blog.csdn.net/sjzezwzy/article/details/81053639