#HK5456. 「ROI 2012 Day 1」病毒与杀毒软件

「ROI 2012 Day 1」病毒与杀毒软件

题目描述

译自 ROI 2012 Day1 T2. Вирусы и антивирусы

一家杀毒软件 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 2525 员工数量 N2000N \leq 2000
33 5050 员工数量 N100000N \leq 100000