AT_tupc2024_a.Inversions of PQ and QP

通过率:0%

AC君温馨提醒

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

题目描述

给定 33 个整数 N,A,BN, A, B。

请判断是否存在 11 到 NN 的排列 P=(P1,P2,…,PN)P=(P_1,P_2,\dots,P_N) 与 Q=(Q1,Q2,…,QN)Q=(Q_1,Q_2,\dots,Q_N),满足以下条件:

  • 序列 (PQ1,PQ2,…,PQN)(P_{Q_1},P_{Q_2},\dots,P_{Q_N}) 的逆序对数为 AA;
  • 序列 (QP1,QP2,…,QPN)(Q_{P_1},Q_{P_2},\dots,Q_{P_N}) 的逆序对数为 BB。

如果存在,构造出这样的一组 P,QP,Q。

对于每组测试用例,请分别作答。

逆序对数指对于长度为 MM 的数列 R=(R1,R2,…,RM)R=(R_1,R_2,\dots,R_M),满足 1≤i<j≤M1 \leq i < j \leq M 且 Ri>RjR_i > R_j 的整数对 (i,j)(i, j) 的数量。

输入格式

输入通过标准输入给出,格式如下:

TT case1\mathrm{case}_1 case2\mathrm{case}_2 ⋮\vdots caseT\mathrm{case}_T

每组测试用例给出如下三个整数:

NN AA BB

输出格式

对于每组测试用例,按顺序输出答案。

如果存在满足条件的排列 P=(P1,P2,…,PN)P=(P_1,P_2,\dots,P_N) 和 Q=(Q1,Q2,…,QN)Q=(Q_1,Q_2,\dots,Q_N),输出格式为:

Yes P1P_1 P2P_2 …\dots PNP_N Q1Q_1 Q2Q_2 …\dots QNQ_N

否则输出:

No

如果存在多组解,输出任意一组均视为正确。

输入输出样例

  • 输入#1

    3
    3 3 1
    3 1 2
    8 13 11

    输出#1

    Yes
    1 3 2
    2 3 1
    No
    Yes
    2 5 8 4 6 3 7 1
    2 1 8 5 3 7 4 6

说明/提示

样例解释 1

对于第 11 个输入用例,输出 (PQ1,PQ2,PQ3)=(3,2,1)(P_{Q_1}, P_{Q_2}, P_{Q_3})=(3,2,1),(QP1,QP2,QP3)=(2,1,3)(Q_{P_1},Q_{P_2},Q_{P_3})=(2,1,3)。

数据范围

  • 1≤T≤2×1051 \leq T \leq 2\times 10^5
  • 1≤N≤2×1051 \leq N \leq 2\times 10^5
  • 0≤A≤N(N−1)20 \leq A \leq \frac{N(N-1)}{2}
  • 0≤B≤N(N−1)20 \leq B \leq \frac{N(N-1)}{2}
  • 所有输入均为整数
  • 所有输入文件中,NN 的总和不超过 2×1052\times 10^5

由 ChatGPT 5 翻译

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

首页