CF1986G1.Permutation Problem (Simple Version)

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

这是该问题的简化版本。唯一的区别在于本版本中 n≤105n \leq 10^5,且所有输入数据集合中 nn 的总和不超过 10510^5。

给定一个长度为 nn 的排列 pp。计算有多少对下标 (i,j)(i, j) 满足 1≤i<j≤n1 \leq i < j \leq n,且 pi⋅pjp_i \cdot p_j 能被 i⋅ji \cdot j 整除。

排列是一个长度为 nn 的整数序列,其中每个整数 11 到 nn 恰好出现一次。例如,[1][1]、[3,5,2,1,4][3,5,2,1,4]、[1,3,2][1,3,2] 是排列,而 [2,3,2][2,3,2]、[4,3,1][4,3,1]、[0][0] 不是排列。

输入格式

每组测试数据包含多组输入。第一行包含一个整数 tt(1≤t≤1041 \leq t \leq 10^4),表示输入数据的组数。接下来是每组数据的描述。

每组数据的第一行包含一个整数 nn(1≤n≤1051 \leq n \leq 10^5),表示排列 pp 的长度。

每组数据的第二行包含 nn 个两两不同的整数 p1,p2,…,pnp_1, p_2, \ldots, p_n(1≤pi≤n1 \leq p_i \leq n),表示排列 pp。

保证所有输入数据集合中 nn 的总和不超过 10510^5。

输出格式

对于每组输入数据,输出满足条件的下标对 (i,j)(i, j) 的数量,其中 1≤i<j≤n1 \leq i < j \leq n 且 pi⋅pjp_i \cdot p_j 能被 i⋅ji \cdot j 整除。

输入输出样例

  • 输入#1

    6
    1
    1
    2
    1 2
    3
    2 3 1
    5
    2 4 1 3 5
    12
    8 9 7 12 1 10 6 3 2 4 11 5
    15
    1 2 4 6 8 10 12 14 3 9 15 5 7 11 13

    输出#1

    0
    1
    1
    3
    9
    3

说明/提示

对于第一组输入数据,由于排列长度为 11,没有下标对。

对于第二组输入数据,有一组下标对 (1,2)(1, 2) 满足条件。

对于第三组输入数据,下标对 (1,2)(1, 2) 满足条件。

对于第四组输入数据,下标对 (1,2)(1, 2)、(1,5)(1, 5) 和 (2,5)(2, 5) 满足条件。

由 ChatGPT 4.1 翻译

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

首页