luogu#P9540. 「AWOI Round 2 C」数组操作?数组操作!
「AWOI Round 2 C」数组操作?数组操作!
题目描述
给定两个长度为 的数组 ,将它们合并得到一个长度为 的数组 。
设 数组第 个元素合并后位于 数组第 个位置, 数组第 个元素合并后位于 数组第 个位置,合并后需要满足: 且 ,即两个数组中元素的相对位置不变。
合并过后,你需要对 数组进行下面操作:
- 变换操作:选择一个区间 ,对于每一个 ,如果 为 ,则将其变成一个不同于 的数,否则将其变为 。
- 翻转操作:选择一个区间 ,翻转该数组区间中的数。此操作必须刚好操作 次。
请输出最少需要执行多少次变换操作才能使得 数组中的数字都为 。
输入格式
第一行包含三个整数 。
第二行包含 个整数,代表 数组中的元素。
第三行包含 个整数,代表 数组中的元素。
输出格式
一个正整数,表示答案。
5 1 1
1 1 45 1 4
1 9 1 9 810
1
20 0 3
1 0 0 8 6 10 0 8 6 1 0 0 86 1 0 0 8 6 0 0
5 2 0 1 3 1 4 52 0 13 14 0 1 0 1 0 4 0 5 0
4
3 2 4
110 105 117
99 108 98
1
提示
【样例说明】
对于样例 ,令 为 。
其中 $c_1=a_1,c_2=b_1,c_3=a_2,c_4=b_2,c_5=a_3,c_6=a_4,c_7=b_3,c_8=b_4,c_9=a_5,c_{10}=b_5$。满足要求。
然后翻转区间 , 数组变为 。
接着执行变换操作,将 中的数全部变成 。
所以最少只需要一次变换操作,可以证明没有比该方法更优的策略。
【数据规模】
请注意本题特殊的时间限制,并使用更快的 IO 方式。
本题使用捆绑测试。
子任务编号 | 特殊性质 | 分值 | |
---|---|---|---|
无 | |||
特殊性质 A | |||
无 |
特殊性质 A:保证两个数组中的元素都为 或都不为 。
对于全部数据,保证 ,输入数据全部在 int
范围内。