P14444 [ICPC 2025 Xi'an Practice] Great Indices
题目描述
给定一个序列 $a_1, a_2, \cdots, a_n$。对于每一个满足 $1 \leq i \leq n$ 的下标 $i$,当且仅当以下条件成立时,我们称下标 $i$ 是 **好** 的:
- 至多存在一个下标 $1 \leq j \leq n$,使得 $a_j$ 不是 $a_i$ 的约数。
你的任务是找出序列中所有 **好** 的下标。
回忆一下,当且仅当存在一个整数 $k$ 使得 $n = d \times k$ 时,整数 $d$ 是整数 $n$ 的约数。
输入格式
输入包含多个测试用例。第一行包含一个整数 $t$($1 \leq t \leq 10^5$),表示测试用例的数量。对于每个测试用例:
- 第一行包含一个整数 $n$($1 \leq n \leq 3 \times 10^5$),表示序列 $a$ 的长度。
- 第二行包含 $n$ 个整数 $a_1, a_2, \cdots, a_n$($1 \leq a_i \leq 10^9$),表示给定的序列。
保证所有测试用例中 $n$ 的总和不超过 $3 \times 10^5$。
输出格式
对于每个测试用例,输出两行:
- 第一行输出一个整数 $m$,表示 **好** 的下标的数量。
- 第二行输出 $m$ 个整数 $p_1, p_2, \cdots, p_m$(满足 $p_1 < p_2 < \cdots < p_m$),表示按 **升序** 排列的 **好** 的下标。
说明/提示
在第一个测试用例中:
- 当 $i = 1$ 时,使得 $a_j$ 不是 $a_i$ 的约数的下标 $j$ 为 $2$、$3$ 和 $4$。由于此类下标数量为 $3 > 1$,因此下标 $1$ 不是 **好** 的下标。
- 当 $i = 2$ 时,存在两个下标 $j = 3$ 和 $j = 4$,使得 $a_j$ 不是 $a_i$ 的约数。
- 当 $i = 3$ 时,存在两个下标 $j = 2$ 和 $j = 4$,使得 $a_j$ 不是 $a_i$ 的约数。
- 当 $i = 4$ 时,所有的 $a_j$ 都是 $a_i$ 的约数,因此下标 $4$ 是 **好** 的。
因此,唯一的 **好** 的下标是 $i = 4$。
翻译由 ChatGPT-5 完成