CF1951F.Inversion Composition
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
My Chemical Romance - Disenchanted
ඞ
给定一个长度为 n 的排列 p,以及一个非负整数 k。你需要构造一个长度为 n 的排列 q,使得 inv(q)+inv(q⋅p)=k†‡,或者判断是否无法做到。
† 对于两个长度为 n 的排列 p 和 q,排列 w=q⋅p 满足 wi=qpi,对于所有 1≤i≤n。
‡ 对于长度为 n 的排列 p,函数 inv(p) 表示 p 的逆序对数,即满足 1≤i<j≤n 且 pi>pj 的数对 (i,j) 的数量。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。接下来是每组测试用例的描述。
每组测试用例的第一行包含两个整数 n 和 k(1≤n≤3⋅105,0≤k≤n(n−1)),分别表示排列 p 的长度和目标逆序对数。
第二行包含 n 个整数 p1,p2,…,pn(1≤pi≤n,pi 两两不同),表示给定的排列 p。
保证所有测试用例中 n 的总和不超过 3⋅105。
输出格式
对于每组测试用例,如果存在满足条件的排列 q,输出一行 "YES"。否则输出一行 "NO"。
如果答案为 "YES",则在下一行输出 n 个整数 q1,q2,…,qn,表示满足条件的排列 q。如果有多种方案,输出任意一种即可。
输入输出样例
输入#1
5 3 4 2 3 1 5 5 2 3 5 1 4 6 11 5 1 2 3 4 6 9 51 3 1 4 2 5 6 7 8 9 1 0 1
输出#1
YES 3 2 1 NO NO YES 1 5 9 8 7 6 4 3 2 YES 1
说明/提示
在第一个测试用例中,有 q⋅p=[2,1,3],inv(q)=3,inv(q⋅p)=1。
在第四个测试用例中,有 q⋅p=[9,1,8,5,7,6,4,3,2],inv(q)=24,inv(q⋅p)=27。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?