#YDRS007B. Small Cloud Sugar Candy

Small Cloud Sugar Candy

题目描述

注意此处置换环的定义和常规语境下置换环的定义不同。

给定正整数 n,p,qn,p,q,构造一个长度为 nn 的排列 π\pi,使得其有至少 pp 个逆序对和至少 qq 个置换环。

说明:

  • 整数对 (i,j)(i,j)π\pi 的逆序对当且仅当 i<ji<jπi>πj\pi_i>\pi_j
  • 递减整数序列 i1,,iki_1,\cdots,i_kπ\pi 的置换环当且仅当 $\pi_{i_1}=i_2,\pi_{i_2}=i_3,\cdots,\pi_{i_{k-1}}=i_k,\pi_{i_k}=i_1$。

输入格式

本题单个测试点内有多组数据测试。

第一行一个正整数 TT 表示数据组数。

TT 行,每行三个正整数 n,p,qn,p,q 描述一组数据。

输出格式

若干行,描述每组数据的答案。

对于每组数据,第一行一个字符串 YesNo 表示是否有解(不区分大小写)。

若有解,第二行 nn 个正整数描述所构造的排列 π\pi。若有多种可能答案,输出任意一种即可。

样例输入

2
5 2 3
24 69 24

样例输出

Yes
1 2 5 3 4
No

样例解释

对于第一组测试数据,答案的逆序对共有 (3,4),(3,5)(3,4),(3,5) 两个,置换环共有 $\langle 1\rangle,\langle 2\rangle,\langle 5,4,3\rangle$ 三个。

测试点约束

本题采用捆绑测试。

  • Subtask 1 (10pts):n10\sum n\le 10
  • Subtask 2 (20pts):p=0p=0
  • Subtask 3 (30pts):q=1q=1
  • Subtask 4 (40pts):无特殊限制。

对于全部数据,1n,n2×1051\le n,\sum n\le 2\times 10^50pn(n1)20\le p\le\frac{n(n-1)}21qn1\le q\le n