AT_agc016_d.[AGC016D] XOR Replace

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个长度为 NN 的数列 a=(a1,a2,…,aN)a = (a_1, a_2, \ldots, a_N),其中每个 aia_i 都是大于等于 00 的整数。

すぬけ君可以重复进行以下操作:

  • 计算 aa 所有元素的异或值 xx,然后选择一个整数 ii(1≤i≤N1 \le i \le N),将 aia_i 替换成 xx。

すぬけ君的目标是使 aa 变成数列 b=(b1,b2,…,bN)b = (b_1, b_2, \ldots, b_N),其中每个 bib_i 也是大于等于 00 的整数。

请判断目标是否可以实现,若可以实现,输出所需操作次数的最小值,否则输出 −1-1。

输入格式

输入由标准输入按如下格式给出:

NN a1a_1 a2a_2 …\ldots aNa_N b1b_1 b2b_2 …\ldots bNb_N

输出格式

如果目标可以实现,输出所需的最小操作次数;否则输出 −1-1。

输入输出样例

  • 输入#1

    3
    0 1 2
    3 1 0

    输出#1

    2
  • 输入#2

    3
    0 1 2
    0 1 2

    输出#2

    0
  • 输入#3

    2
    1 1
    0 0

    输出#3

    -1
  • 输入#4

    4
    0 1 2 3
    1 0 3 2

    输出#4

    5

说明/提示

限制条件

  • 2≤N≤1052 \le N \le 10^5
  • aia_i 和 bib_i 都是整数。
  • 0≤ai,bi<2300 \le a_i, b_i < 2^{30}

样例解释 1

一开始,aa 所有元素的异或值是 33。选择 a1a_1 并将其替换为 33,此时 a=(3,1,2)a = (3, 1, 2)。接着 aa 的异或值为 00,选择 a3a_3 并将其替换为 00,此时 a=(3,1,0)a = (3, 1, 0),与 bb 一致。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页