题目背景
自从 7 月 yummy 出八维偏序被八维 BIT 橄榄后,他痛定思痛,决定不要弄这么多维,这次他改成了二维偏序。
你或许会好奇为什么本题空间限制这么大——实际上正解不需要很大空间,但某个部分分做法需要。
题目描述
你有两棵有根树 T1,T2,询问有多少组 (u,v)(u=v) 满足 T1 中 u 是 v 的祖先,T2 中 u 也是 v 的祖先。
输入格式
输入有一行一个整数 n,表示 T1,T2 的大小。
第二行有 n 个整数 fa1,1,fa1,2,…,fa1,n,第 i 个数表示 T1 中 i 结点的父亲,特别地,根父亲是 0。
第三行有 n 个整数 fa2,1,fa2,2,…,fa2,n,第 i 个数表示 T2 中 i 结点的父亲,特别地,根父亲是 0。
输出格式
输出一行一个整数表示答案。
样例 #1
样例输入 #1
5
4 4 1 0 4
4 1 1 5 0
样例输出 #1
4
提示
【样例解释】
答案有 (4,2),(4,1),(4,3),(1,3) 四个。
【数据范围】
测试点编号 |
n≤ |
特殊性质 |
1∼2 |
200 |
|
3∼5 |
5000 |
6∼8 |
7×104 |
9 |
7×105 |
T1,T2 相同 |
10∼11 |
T1,T2 都是一条链(*) |
12∼14 |
T1 是一条链 |
15∼20 |
|
(*):称一棵树是一条链,当且仅当没有两个结点拥有相同的父亲结点。
对于全体数据,保证 1≤n≤7×105,且输入构成两棵树。