徐老师的序列变换
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
徐老师有一个序列 包含 个整数,分别为
现在徐老师每次可以进行一次操作,操作分 步:
- 计算
- 徐老师选择一个下标 进行赋值
现在徐老师想知道,要将 序列变成 序列最少需要花费多少次操作?
P.S. 其中 是异或()操作,在 C++ 中可以用 a^b 来表示
输入格式
输入第一行包含一个整数 表示序列长度
输入第二行包含 个整数,表示原序列中的数字
输入第三行包含 个整数,表示目标序列的数字
输出格式
输出一个整数表示最少的操作次数
数据范围
对于 的数据满足:
对于另外 的数据满足: 且 在二进制下每一位均为
对于 的数据满足:
且题目保证一定有解
样例输入1
3
0 1 2
2 0 1
样例输出1
4
样例解释1
每一次操作选择的 依次是:
样例输入2
4
0 1 2 3
2 0 1 3
样例输出2
3