本题使用标准输入、标准输出,无需读写题面中提到的文件。
题目描述
Bessie 有一个特殊函数 f(x),输入为 [1,N] 中的一个整数,并返回 [1,N] 中的一个整数(1≤N≤2⋅105)。她的函数 f(x) 由 N 个整数 a1…aN 定义,其中 f(x)=ax(1≤ai≤N)。
Bessie 希望这个函数是幂等的。换句话说,它应当对所有整数 x∈[1,N] 满足 f(f(x))=f(x)。
以代价 ci,Bessie 可以将 ai 的值改为 [1,N] 中的任意整数(1≤ci≤109)。请确定使 f(x) 变为幂等所需的最小总代价。
输入格式
第一行包含 N。
第二行包含 N 个用空格分隔的整数 a1,a2,…,aN。
第三行包含 N 个用空格分隔的整数 c1,c2,…,cN。
输出格式
输出使 f(x) 成为幂等所需的最小总代价。
5
2 4 4 5 3
1 1 1 1 1
3
8
1 2 5 5 3 3 4 4
9 9 2 5 9 9 9 9
7
提示
我们可以将 a1=4、a4=4、a5=4。由于所有 ci 都等于 1,总花费等于 3,也就是修改次数。可以证明不存在仅用 2 次或更少修改的解。
我们将 a3=3 且 a4=4。总花费为 2+5=7。
评分:
子任务:
输入 3:N≤20
输入 4-9:ai≥i
输入 10-15:所有 ai 互不相同。
输入 16-21:无额外限制。
此外,在最后三个子任务中的每一个子任务里,前一半的测试将满足对所有 i 有 ci=1。
题目鸣谢:Avnith Vijayram
来源
USACO|2025|Gold