CF2065G.Skibidus and Capping

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

Skibidus 被 Amog 外星人绑架了!Skibidus 试图以言辞自辩脱身,但 Amog 外星人不相信他。为了证明自己不是在撒谎(capping),Amog 外星人要求他解决以下问题:

一个整数 xx 如果可以写成 p⋅qp \cdot q 的形式(pp 和 qq 均为质数,可以相同),则称其为半质数。例如,99 是半质数,因为它可以写成 3⋅33 \cdot 3,而 33 是质数。

Skibidus 得到了一个包含 nn 个整数的数组 aa。他需要统计所有满足 i≤ji \leq j 且 lcm⁡(ai,aj)\operatorname{lcm}(a_i, a_j) $ ^{\text{∗}} $ 为半质数的索引对 (i,j)(i, j) 的数量。

$ ^{\text{∗}} $ 给定两个整数 xx 和 yy,lcm⁡(x,y)\operatorname{lcm}(x, y) 表示 xx 与 yy 的 最小公倍数。

输入格式

第一行包含一个整数 tt (1≤t≤1041 \leq t \leq 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn (2≤n≤2⋅1052 \leq n \leq 2 \cdot 10^5)。

接下来一行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n (2≤ai≤n2 \leq a_i \leq n)。

保证所有测试用例中 nn 的总和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每个测试用例,输出一行一个整数,表示满足条件的有序索引对 (i,j)(i, j) 的数量。

输入输出样例

  • 输入#1

    3
    4
    2 2 3 4
    6
    2 2 3 4 5 6
    9
    2 2 4 5 7 8 9 3 5

    输出#1

    5
    12
    18

说明/提示

在第一个测试用例中,满足条件的 55 个索引对分别为 (1,3)(1, 3)、(1,4)(1, 4)、(2,3)(2, 3)、(2,4)(2, 4) 和 (4,4)(4, 4)。

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

首页