编程题
### 问题描述 卓儿种了一棵桑树(根节点为 $0$)。一开始,每个节点都长着一个不同大小的桑果。随着时间的流逝,每个节点都会长出新的桑果,意味着之前的桑果仍然存在于给定的节点,同时保持不同大小。 卓儿观察每一个果实,并且对于每一个新的果实,她要求你告诉她在给定节点的子树中有多少更小的果实。 ### 输入格式 第一行包含两个整数 $N$ 和 $Q$,表示桑树的大小。 接下来一行包含 $N$ 个整数 $A_i$,表示每个节点上桑果的大小。 接下来的 $N-1$ 行中,每行包含两个整数 $a$ 和 $b$,表示给定节点之间的分支。 接下来的 $Q$ 行中,每行包含两个整数 $a$ 和 $S$,表示新果实长在的节点和果实的大小。 ### 输出格式 对于每个查询,输出在新的桑果长出的节点的子树中生长的更小的桑果的数量。 ### 样例输入 ``` 7 8 10 9 13 17 11 20 18 0 4 0 1 1 2 1 3 2 5 2 6 0 21 0 8 2 15 3 22 1 14 2 19 0 12 1 16 ``` ### 样例输出 ``` 7 0 1 1 2 3 4 4 ``` ### 评测数据规模 $1 \leq N, Q \leq 10^4$,$0 \leq A_i \leq 10^6$,$0 \leq a, b \leq N-1$,$0 \leq S \leq 10^6$。
查看答案
赣ICP备20007335号-2