P11842 [USACO25FEB] Bessie's Function G

题目描述

Bessie 有一个特别的函数 $f(x)$,接收一个 $[1, N]$ 内的整数作为输入,并返回一个 $[1, N]$ 内的整数($1 \le N \le 2 \cdot 10^5$)。她的函数 $f(x)$ 由 $N$ 个整数 $a_1 \ldots a_N$ 定义,其中 $f(x) = a_x$($1 \le a_i \le N$)。 Bessie 希望这个函数是幂等的。换句话说,它应当对于所有整数 $x \in [1, N]$ 满足 $f(f(x)) = f(x)$。 Bessie 可以以代价 $c_i$ 将 $a_i$ 的值修改为 $[1, N]$ 内的任意整数($1 \le c_i \le 10^9$)。求 Bessie 使 $f(x)$ 变为幂等所需要的最小总代价。

输入格式

输入的第一行包含 $N$。 第二行包含 $N$ 个空格分隔的整数 $a_1,a_2,\dots,a_N$。 第三行包含 $N$ 个空格分隔的整数 $c_1,c_2,\dots,c_N$。

输出格式

输出 Bessie 使 $f(x)$ 变为幂等所需要的最小总代价。

说明/提示

样例 1 解释: 我们可以修改 $a_1 = 4$,$a_4 = 4$,$a_5 = 4$。由于所有 $c_i$ 均等于 $1$,所以总代价等于 $3$,即修改的数量。可以证明,不存在仅进行 $2$ 次或更少修改的解。 样例 2 解释: 我们修改 $a_3 = 3$ 以及 $a_4 = 4$。总代价为 $2+5=7$。 - 测试点 $3$: $N \le 20$。 - 测试点 $4\sim 9$: $a_i \ge i$。 - 测试点 $10\sim 15$: 所有 $a_i$ 各不相同。 - 测试点 $16\sim 21$: 没有额外限制。 除此之外,在后三个子任务中,前一半的测试点将满足对于所有 $i$ 有 $c_i=1$。