A16877. An Alternative Way
编程题
入门
知识点
题目描述
你有两个长度均为 $n$ 的数组 $a$ 和 $b$。你可以对数组 $a$ 执行以下操作任意次(包括零次):
1. 选择两个下标 $l$ 和 $r$,满足 $1 \le l \le r \le n$;
2. 对每个下标 $i$(从 $l$ 到 $r$,含端点):
* 若 $i - l$ 为奇数,则令 $a_i := a_i - 1$;
* 若 $i - l$ 为偶数,则令 $a_i := a_i + 1$。
判断是否可以通过执行若干次该操作,使数组 $a$ 变为数组 $b$。
1. 选择两个下标 $l$ 和 $r$,满足 $1 \le l \le r \le n$;
2. 对每个下标 $i$(从 $l$ 到 $r$,含端点):
* 若 $i - l$ 为奇数,则令 $a_i := a_i - 1$;
* 若 $i - l$ 为偶数,则令 $a_i := a_i + 1$。
判断是否可以通过执行若干次该操作,使数组 $a$ 变为数组 $b$。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$)——测试用例的数量。随后是每个测试用例的描述。
每个测试用例的第一行包含一个整数 $n$($1 \le n \le 2\cdot10^5$)——数组 $a$ 和 $b$ 的长度。
每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$)——数组 $a$ 的元素。
每个测试用例的第三行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($1 \le b_i \le 10^9$)——数组 $b$ 的元素。
保证所有测试用例中 $n$ 的总和不超过 $2\cdot10^5$。
每个测试用例的第一行包含一个整数 $n$($1 \le n \le 2\cdot10^5$)——数组 $a$ 和 $b$ 的长度。
每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$)——数组 $a$ 的元素。
每个测试用例的第三行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($1 \le b_i \le 10^9$)——数组 $b$ 的元素。
保证所有测试用例中 $n$ 的总和不超过 $2\cdot10^5$。
输出格式
对于每个测试用例,如果可以使数组 $a$ 等于数组 $b$,则输出 "YES";否则输出 "NO"。
你可以以任意大小写形式输出 "YES" 和 "NO"(例如,字符串 "yEs"、"yes" 和 "Yes" 均被视为肯定回答)。
你可以以任意大小写形式输出 "YES" 和 "NO"(例如,字符串 "yEs"、"yes" 和 "Yes" 均被视为肯定回答)。
输入输出样例
输入 #1
7 3 1 2 3 1 2 3 4 1 4 5 2 1 5 4 3 1 9 8 6 6 7 6 7 6 7 7 6 7 6 7 6 9 9 8 7 6 5 4 3 2 1 9 9 8 2 4 4 3 5 3 3 1 1 2 2 1 1 2 1 2 1 1
输出 #1
YES YES NO YES NO YES NO
说明/提示
对于第一个测试用例,数组 $a$ 和 $b$ 已经相等。
对于第二个测试用例,我们选择 $l = 2$ 和 $r = 4$。此时,我们按如下方式更新数组 $a$:
* 当 $i = 2$ 时,有 $i - l = 2 - 2 = 0$,为偶数,因此令 $a_2 := a_2 + 1 = 4 + 1 = 5$。
* 当 $i = 3$ 时,有 $i - l = 3 - 2 = 1$,为奇数,因此令 $a_3 := a_3 - 1 = 5 - 1 = 4$。
* 当 $i = 4$ 时,有 $i - l = 4 - 2 = 2$,为偶数,因此令 $a_4 := a_4 + 1 = 2 + 1 = 3$。
最终得到数组 $a = [1, 5, 4, 3]$,数组 $b = [1, 5, 4, 3]$。
对于第三个测试用例,可以证明无法使数组 $a$ 等于数组 $b$。
对于第二个测试用例,我们选择 $l = 2$ 和 $r = 4$。此时,我们按如下方式更新数组 $a$:
* 当 $i = 2$ 时,有 $i - l = 2 - 2 = 0$,为偶数,因此令 $a_2 := a_2 + 1 = 4 + 1 = 5$。
* 当 $i = 3$ 时,有 $i - l = 3 - 2 = 1$,为奇数,因此令 $a_3 := a_3 - 1 = 5 - 1 = 4$。
* 当 $i = 4$ 时,有 $i - l = 4 - 2 = 2$,为偶数,因此令 $a_4 := a_4 + 1 = 2 + 1 = 3$。
最终得到数组 $a = [1, 5, 4, 3]$,数组 $b = [1, 5, 4, 3]$。
对于第三个测试用例,可以证明无法使数组 $a$ 等于数组 $b$。