#P15295. [ROI 2012 Day 1] virus 病毒与杀毒软件

    ID: 15310 远端评测题 2000ms 256MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>2012树状数组树论ROI(俄罗斯)

[ROI 2012 Day 1] virus 病毒与杀毒软件

说明

一家杀毒软件 IT 公司拥有正式的管理层级结构。在这个结构中,有一个老板,他是唯一没有上司的员工。其他每个员工都有且仅有一个直接上司。每个上司可以有多个下属,并可以直接或通过下属链传递命令给任意下属。命令只能通过从上司到下属的链条传递。

在该层级结构中,如果员工 AA 可以通过直接或通过下属链传递命令给员工 BB,则称 AABB 地位更高。老板比任何员工地位都高。

然而,发现所有员工还组成了一个类似的秘密层级结构,用于开发计算机病毒。在这个秘密结构中,可能有不同的老板和不同的上司关系。

我们称一对员工 AABB稳定对,如果 AA 在正式层级结构和秘密层级结构中都比 BB 地位高。

你需要编写一个程序,计算公司中稳定对的数量。

输入格式

输入文件的第一行包含一个整数 NN (1N100000)(1 \leq N \leq 100000),表示公司员工的数量。

第二行包含 NN 个整数 aia_i,其中如果在正式层级结构中编号为 ii 的员工是老板,则 ai=0a_i = 0;否则 aia_i 为该员工直接上司的编号。

第三行包含 NN 个整数 bib_i,其中如果在秘密层级结构中编号为 ii 的员工是老板,则 bi=0b_i = 0;否则 bib_i 为该员工直接上司的编号。

员工编号从 11 开始,按输入文件中提到的顺序排列。

输出格式

输出文件应包含一个整数,表示稳定对的数量。

3
0 3 1
0 1 1

2
5
2 0 1 3 4
3 1 0 2 4
7

提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 2525 员工数量 N100N \leq 100
22 员工数量 N2000N \leq 2000
33 5050 员工数量 N100000N \leq 100000