最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • Multiple Construction

    正文概述 陈老师   2026-01-20 15:14:46  

    题目描述

    给定一个整数 nn。你的任务是构造一个长度为 2n2 \cdot n 的数组,要求满足以下条件:

    • 11nn 每个整数在数组中恰好出现两次。
    • 对于每个整数 xx1xn1 \leq x \leq n),xx 两次出现的位置之间的距离是 xx 的倍数。也就是说,若 pxp_xqxq_x 分别是 xx 两次出现的位置下标,则 qxpx| q_x - p_x | 必须能被 xx 整除。

    可以证明,总是存在一种满足条件的方案。

    输入格式

    每个测试点包含多组测试数据。第一行包含一个整数 tt1t1041 \leq t \leq 10^4),表示测试数据组数。

    接下来的 tt 行,每行包含一个整数 nn1n21051 \leq n \leq 2 \cdot 10^{5})。

    保证所有测试数据中 nn 的和不超过 21052 \cdot 10^{5}

    输出格式

    对于每组测试数据,输出一行 2n2 \cdot n 个整数,表示满足条件的数组。

    如存在多种合法方案,输出任意一种均可。

    样例

    3
    2
    3
    1
    
    1 2 1 2
    1 3 1 2 3 2
    1 1
    

    提示

    样例解释

    在第一个测试样例中:

    • 数字 11 出现在第 11 和第 33 个位置:两次出现的距离为 22,是 11 的倍数。
    • 数字 22 出现在第 22 和第 44 个位置:两次出现的距离为 22,是 22 的倍数。

    在第二个测试样例中:

    • 数字 11 出现在第 11 和第 33 个位置:距离为 22,是 11 的倍数。
    • 数字 22 出现在第 44 和第 66 个位置:距离为 22,是 22 的倍数。
    • 数字 33 出现在第 22 和第 55 个位置:距离为 33,是 33 的倍数。

    在第三个测试样例中,数字 11 两次出现位置是在第 11 和第 22,距离为 11,是 11 的倍数。

    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » Multiple Construction