#6604. C1. A Simple GCD Problem (Easy Version)

C1. A Simple GCD Problem (Easy Version)


题目名称:简单的 GCD 问题(简单版)

时间限制: 2 秒 | 内存限制: 512 MB

题目背景

这是该问题的简单版本。与困难版的区别在于:在此版本中,1n21051 \le n \le 2 \cdot 10^5,且对于所有 ii,满足 bi=aib_i = a_i

题目描述

给你两个长度为 nn 的数组 aabb

对于数组 aa 中的每个下标 ii (1in1 \le i \le n),你可以执行最多一次如下操作:

  • 选择一个任意整数 mm (maim \neq a_i),满足 1mbi1 \le m \le b_i,并设定 ai:=ma_i := m

令操作后的数组为 aa'。你执行操作的前提必须满足以下条件:

  • 对于所有 1l<rn1 \le l < r \le n,满足 $\gcd(a_l, a_{l+1}, \dots, a_r) = \gcd(a'_l, a'_{l+1}, \dots, a'_r)$。

任务: 计算在保持上述条件不变的情况下,最多可以对多少个位置执行操作。

输入格式

  1. 第一行包含测试用例数量 tt (1t1041 \le t \le 10^4)。
  2. 每个测试用例的第一行包含一个整数 nn (2n21052 \le n \le 2 \cdot 10^5),即数组长度。
  3. 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n (1ai1091 \le a_i \le 10^9)。
  4. 第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \dots, b_n(在简单版中,bi=aib_i = a_i)。
  5. 保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,输出一行,表示最大可执行的操作次数。


样例分析

输入 (n=7, a=[1, 2, 3, 4, 5, 6, 7]) 输出 解释
1 2 3 4 5 6 7 6 所有子数组的 GCD 均为 1。我们可以将除一个位置外的所有数改为 1,例如变为 [1, 1, 1, 1, 1, 1, 1],总共操作 6 次。
输入 (n=3, a=[67, 67, 67]) 输出 解释
67 67 67 0 所有数相等。若减小任何一个数,相邻位置的 gcd(ai,ai+1)\gcd(a_i, a_{i+1}) 都会改变,因此无法操作。