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$。