CF1027D.Mouse Hunt
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Medicine faculty of Berland State University has just finished their admission campaign. As usual, about 80% of applicants are girls and majority of them are going to live in the university dormitory for the next 4 (hopefully) years.
The dormitory consists of n rooms and a single mouse! Girls decided to set mouse traps in some rooms to get rid of the horrible monster. Setting a trap in room number i costs ci burles. Rooms are numbered from 1 to n.
Mouse doesn't sit in place all the time, it constantly runs. If it is in room i in second t then it will run to room ai in second t+1 without visiting any other rooms inbetween (i=ai means that mouse won't leave room i). It's second 0 in the start. If the mouse is in some room with a mouse trap in it, then the mouse get caught into this trap.
That would have been so easy if the girls actually knew where the mouse at. Unfortunately, that's not the case, mouse can be in any room from 1 to n at second 0.
What it the minimal total amount of burles girls can spend to set the traps in order to guarantee that the mouse will eventually be caught no matter the room it started from?
伯兰国立大学医学院刚刚结束了本年度的招生工作。和往常一样,约 80% 的申请者为女生,其中大多数将在接下来的 4 年(但愿如此)里住在大学宿舍中。
该宿舍共有 n 个房间,以及一只老鼠!女生们决定在部分房间中安装捕鼠器,以消灭这个可怕的“怪物”。在第 i 号房间安装捕鼠器的费用为 ci 卢布。房间编号从 1 到 n。
老鼠并不会一直待在原地,而会持续奔跑:若它在第 t 秒位于第 i 号房间,则它将在第 t+1 秒直接跑入第 ai 号房间(中间不经过任何其他房间)(若 i=ai,则表示老鼠将停留在第 i 号房间不动)。初始时刻为第 0 秒。若老鼠在某一秒恰好位于一个装有捕鼠器的房间内,则它将被该捕鼠器捕获。
倘若女生们确切知道老鼠的初始位置,问题就简单多了。遗憾的是,事实并非如此——老鼠在第 0 秒可能位于任意一个从 1 到 n 的房间中。
那么,女生们至少需要花费多少卢布来安装捕鼠器,才能确保无论老鼠从哪个房间出发,最终都必然被捕获?
输入格式
The first line contains as single integers n (1≤n≤2⋅105) — the number of rooms in the dormitory.
The second line contains n integers c1,c2,…,cn (1≤ci≤104) — ci is the cost of setting the trap in room number i.
The third line contains n integers a1,a2,…,an (1≤ai≤n) — ai is the room the mouse will run to the next second after being in room i.
第一行包含一个整数 n(1≤n≤2⋅105)—— 表示宿舍中的房间数量。
第二行包含 n 个整数 c1,c2,…,cn(1≤ci≤104)—— 其中 ci 表示在第 i 号房间设置陷阱的花费。
第三行包含 n 个整数 a1,a2,…,an(1≤ai≤n)—— 其中 ai 表示老鼠在第 i 号房间停留一秒后,下一秒将跑向的房间编号。
输出格式
Print a single integer — the minimal total amount of burles girls can spend to set the traps in order to guarantee that the mouse will eventually be caught no matter the room it started from.
输出一个整数——女孩们设置陷阱所需花费的最少总金额(单位:burles),以确保无论老鼠从哪个房间出发,最终都会被抓住。
输入输出样例
输入#1
5 1 2 3 2 10 1 3 4 3 3
输出#1
3
输入#2
4 1 10 2 10 2 4 2 2
输出#2
10
输入#3
7 1 1 1 1 1 1 1 2 2 2 3 6 7 6
输出#3
2
说明/提示
In the first example it is enough to set mouse trap in rooms 1 and 4. If mouse starts in room 1 then it gets caught immideately. If mouse starts in any other room then it eventually comes to room 4.
In the second example it is enough to set mouse trap in room 2. If mouse starts in room 2 then it gets caught immideately. If mouse starts in any other room then it runs to room 2 in second 1.
Here are the paths of the mouse from different starts from the third example:
- 1→2→2→…;
- 2→2→…;
- 3→2→2→…;
- 4→3→2→2→…;
- 5→6→7→6→…;
- 6→7→6→…;
- 7→6→7→…;
So it's enough to set traps in rooms 2 and 6.
在第一个例子中,只需在房间 1 和 4 设置捕鼠器即可。若老鼠起始于房间 1,则它会立即被捕获;若老鼠起始于其余任意房间,则它最终都会到达房间 4。
在第二个例子中,只需在房间 2 设置捕鼠器即可。若老鼠起始于房间 2,则它会立即被捕获;若老鼠起始于其余任意房间,则它会在第 1 秒时跑到房间 2。
以下是第三个例子中老鼠从不同起点出发的路径:
- 1→2→2→…;
- 2→2→…;
- 3→2→2→…;
- 4→3→2→2→…;
- 5→6→7→6→…;
- 6→7→6→…;
- 7→6→7→…;
因此,只需在房间 2 和 6 设置捕鼠器即可。
输入解题思路,AI测评打分。不知道怎么写?