CF1470B.Strange Definition
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Let us call two integers x and y adjacent if gcd(x,y)lcm(x,y) is a perfect square. For example, 3 and 12 are adjacent, but 6 and 9 are not.
Here gcd(x,y) denotes the greatest common divisor (GCD) of integers x and y, and lcm(x,y) denotes the least common multiple (LCM) of integers x and y.
You are given an array a of length n. Each second the following happens: each element ai of the array is replaced by the product of all elements of the array (including itself), that are adjacent to the current value.
Let di be the number of adjacent elements to ai (including ai itself). The beauty of the array is defined as max1≤i≤ndi.
You are given q queries: each query is described by an integer w, and you have to output the beauty of the array after w seconds.
我们称两个整数 x 和 y 是相邻的,如果 gcd(x,y)lcm(x,y) 是一个完全平方数。例如,3 和 12 是相邻的,但 6 和 9 不是。
此处,gcd(x,y) 表示整数 x 与 y 的最大公约数(GCD),lcm(x,y) 表示整数 x 与 y 的最小公倍数(LCM)。
给定一个长度为 n 的数组 a。每一秒执行如下操作:数组中的每个元素 ai 被替换为数组中所有与当前值 ai 相邻的元素(包括 ai 自身)的乘积。
令 di 表示与 ai 相邻的元素个数(包含 ai 自身)。数组的优美度(beauty) 定义为 max1≤i≤ndi。
你将收到 q 个查询:每个查询由一个整数 w 描述,你需要输出经过 w 秒后数组的优美度。
输入格式
The first input line contains a single integer t (1≤t≤105) — the number of test cases.
The first line of each test case contains a single integer n (1≤n≤3⋅105) — the length of the array.
The following line contains n integers a1,…,an (1≤ai≤106) — array elements.
The next line contain a single integer q (1≤q≤3⋅105) — the number of queries.
The following q lines contain a single integer w each (0≤w≤1018) — the queries themselves.
It is guaranteed that the sum of values n over all test cases does not exceed 3⋅105, and the sum of values q over all test cases does not exceed 3⋅105
第一行输入包含一个整数 t(1≤t≤105)—— 测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤3⋅105)—— 数组的长度。
接下来一行包含 n 个整数 a1,…,an(1≤ai≤106)—— 数组元素。
下一行包含一个整数 q(1≤q≤3⋅105)—— 查询的数量。
接下来的 q 行每行包含一个整数 w(0≤w≤1018)—— 查询本身。
保证所有测试用例中 n 的总和不超过 3⋅105,且所有测试用例中 q 的总和不超过 3⋅105。
输出格式
For each query output a single integer — the beauty of the array at the corresponding moment.
对于每个查询,输出一个整数——即对应时刻数组的美观度。
输入输出样例
输入#1
2 4 6 8 4 2 1 0 6 12 3 20 5 80 1 1 1
输出#1
2 3
说明/提示
In the first test case, the initial array contains elements [6,8,4,2]. Element a4=2 in this array is adjacent to a4=2 (since gcd(2,2)lcm(2,2)=22=1=12) and a2=8 (since gcd(8,2)lcm(8,2)=28=4=22). Hence, d4=2, and this is the maximal possible value di in this array.
In the second test case, the initial array contains elements [12,3,20,5,80,1]. The elements adjacent to 12 are 12,3, the elements adjacent to 3 are 12,3, the elements adjacent to 20 are 20,5,80, the elements adjacent to 5 are 20,5,80, the elements adjacent to 80 are 20,5,80, the elements adjacent to 1 are 1. After one second, the array is transformed into [36,36,8000,8000,8000,1].
在第一个测试用例中,初始数组包含元素 [6,8,4,2]。该数组中元素 a4=2 的相邻元素为 a4=2(因为 gcd(2,2)lcm(2,2)=22=1=12)以及 a2=8(因为 gcd(8,2)lcm(8,2)=28=4=22)。因此,d4=2,这是该数组中可能的最大值 di。
在第二个测试用例中,初始数组包含元素 [12,3,20,5,80,1]。与 12 相邻的元素为 {12,3},与 3 相邻的元素为 {12,3},与 20 相邻的元素为 {20,5,80},与 5 相邻的元素为 {20,5,80},与 80 相邻的元素为 {20,5,80},与 1 相邻的元素为 {1}。经过一秒后,数组变换为 [36,36,8000,8000,8000,1]。
输入解题思路,AI测评打分。不知道怎么写?