题目背景
帆帆不满足于只构建一棵深蓝之树,他觉得深蓝之树只有深蓝色太单调了,于是想给这棵树染上颜色。
题目描述
由于现在已经来到了魔幻的龙年,帆帆的深蓝之树已经被染上了颜色,结点 i 的颜色为 ai。
帆帆是一个喜新厌旧的人,在接下来的 q 天中,他每天都会改变他喜欢的颜色,第 i 天他喜欢的两种颜色是 xi,yi(xi=yi)。
但是为了照顾自己的树,他需要经常在树上移动,并且只会经过自己喜欢的颜色。
具体来说,第 i 天,帆帆会选择一个有序结点对 (u,v),然后沿着 u→v 的唯一简单路径移动,并且中间经过的结点(包含 u,v)颜色必须 ∈{xi,yi}(u 可以等于 v),之后可以抽取一次宵宫。
每一天你都需要抽取一个满命宵宫,然后告诉帆帆有多少种可能的选择有序结点对的方案。
输入格式
第一行两个正整数 n,q。
接下来一行 n 个正整数 a1,a2,⋯,an 表示每个点的颜色。
接下来一行 n−1 个正整数 p2,p3,⋯,pn,表示对所有 2≤i≤n,树上存在一条边 (pi,i)。
接下来 q 行,每行两个正整数 xi,yi。
输出格式
对于每组询问输出一行一个正整数表示答案。
5 3
1 2 1 3 3
1 1 2 2
1 2
1 3
2 3
9
6
9
提示
【样例 1 解释】
树的形态如图所示:
对于第一组询问,合法的路径有且仅有 {1,2,3} 中一点到另一点的路径。
对于第二组询问,合法的路径有且仅有 1→1,1→3,3→1,3→3,4→4,5→5。
【子任务约束】
本题采用子任务捆绑测试。
对于 100% 的数据,有 1≤n≤106,1≤q≤2×106,1≤ai,x,y≤n,x=y。保证 pi<i。
子任务编号 |
n |
q |
特殊性质 |
分值 |
依赖子任务 |
Subtask #1 |
≤100 |
无 |
7 |
无 |
Subtask #2 |
≤2000 |
18 |
1 |
Subtask #3 |
≤105 |
≤2×105 |
A |
5 |
无 |
Subtask #4 |
B |
19 |
Subtask #5 |
无 |
21 |
1,2,3,4 |
Subtask #6 |
≤2×105 |
≤5×105 |
10 |
5 |
Subtask #7 |
≤106 |
≤2×106 |
20 |
6 |
特殊性质 A:pi=1。
特殊性质 B:pi=i−1。