CF756A Pavel and barbecue
题目描述
Pavel 在烤肉。
共有 $n$ 串烤肉排成一排,各自在 $n$ 个位置中的一个。Pavel 希望每一串烤肉的每一面都能在每一个位置上烤过一次。
Pavel 有一个全排列 $p$ 和一个长为 $n$ 的 0/1 序列 $b$。Pavel 每一步将位于 $i$ 的串串移到 $p_i$ 处。同时,如果 $b_i=1$,那么 Pavel 将反转这个串串。
很不幸,不是每一对 $p$ 和 $b$ 都满足要求,Pavel 想知道最少修改多少个现有的 $p$ 和 $b$ 中的数才能满足自己的目的。注意修改后的序列也要满足要求。
易证这样的 $p$ 和 $b$ 对于所有的 $n$ 都是存在的。
输入格式
第一行一个正整数 $n$,烤串的数量。
第二行 $n$ 个正整数,分别表示 $p_1,p_2,\cdots,p_n$。
第三行 $n$ 个正整数,分别表示 $b_1,b_2,\cdots,b_n$。
输出格式
一行一个正整数,表示最小的操作次数。
【数据规模与约定】
$1\le p_i\le n\le 2\times 10^5$,$b_i\in \{0,1\}$
说明/提示
In the first example Pavel can change the permutation to $ 4,3,1,2 $ .
In the second example Pavel can change any element of $ b $ to $ 1 $ .