#P11135. 【MX-X5-T7】「GFOI Round 1」Der Richter

    ID: 11534 远端评测题 4000ms 512MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>搜索Special JudgeO2优化剪枝状压 DP梦熊比赛

【MX-X5-T7】「GFOI Round 1」Der Richter

背景

原题链接:https://oier.team/problems/X5H。


Der Richter - Ωμεγα

题目描述

我们首先给出关于本题的一些定义。

定义一个 1∼n1 \sim n 的排列 p1,p2,…,pnp_1, p_2, \ldots, p_n 是好的,当且仅当 $\exists k \in [1, n - 1], \max\limits_{i = 1}^k p_i = k$。

定义一个序列 x1,x2,…,xkx_1, x_2, \ldots, x_k 是一个排列 p1,p2,…,pnp_1, p_2, \ldots, p_n 的交换方案,当且仅当:

  • ∀1≤i≤k\forall 1 \le i \le k,1≤xi≤n−11 \le x_i \le n - 1 且 xix_i 是整数;
  • 对所有 i=1∼ki = 1 \sim k 依次执行交换 pp 中 xix_i 和 xi+1x_i + 1 位置上的数的操作之后,pp 是好的。

特别地,序列 xx 可以为空,代表不进行任何交换操作。

定义一个序列 x1,x2,…,xkx_1, x_2, \ldots, x_k 是一个排列 p1,p2,…,pnp_1, p_2, \ldots, p_n 的关键交换方案,当且仅当:

  • xx 是 pp 的一个交换方案;
  • xx 是 pp 的所有交换方案中长度最小的。

定义 f(p)f(p) 为排列 pp 的不同的关键交换方案的个数。

定义一个排列 qq 是另一个排列 pp 的一个终态,当且仅当:

  • pp 的长度与 qq 相等;
  • qq 是好的;
  • 存在一个 pp 的关键交换方案 x1,x2,…,xkx_1, x_2, \ldots, x_k,使得对所有 i=1∼ki = 1 \sim k 依次执行交换 pp 中 xix_i 和 xi+1x_i + 1 位置上的数的操作之后,pp 与 qq 相同(即 ∀1≤i≤∣p∣,pi=qi\forall 1 \le i \le |p|, p_i = q_i)。

定义一个排列 pp 是极好的,当且仅当只存在一个排列 qq,使得 qq 是 pp 的终态。

给定一个质数 PP 和 qq 次询问,每次询问给定两个整数 n,mn, m,你需要构造任意一个极好的长度为 nn 且 f(p)≡m(modP)f(p) \equiv m \pmod P 的 1∼n1 \sim n 的排列 pp,或报告无解。

本题将使用自定义校验器检查你构造的排列是否正确,即若有解输出任意一个满足要求的排列都会被认为通过。

输入格式

第一行输入两个正整数 q,Pq, P,表示询问次数和模数。

接下来 qq 行,每行包含两个整数 n,mn, m。

输出格式

对于每次询问:

  • 若无解输出一行一个整数 −1-1;
  • 否则输出一行 nn 个整数,表示任意一个符合要求的 1∼n1 \sim n 的排列 p1,p2,…,pnp_1, p_2, \ldots, p_n。

本题将使用自定义校验器检查你构造的排列是否正确,即若有解输出任意一个满足要求的排列都会被认为通过。

5 998244353
5 1
6 1
6 2
6 3
10 20

4 1 5 3 2
5 4 3 2 1 6
3 6 2 5 1 4
-1
5 10 4 3 2 9 8 7 1 6

提示

【样例解释】

对于第一次询问,排列 p=[4,1,5,3,2]p = [4, 1, 5, 3, 2] 的关键交换方案只有 x=[1]x = [1],且因为 pp 的终态只有 q=[1,4,5,3,2]q = [1, 4, 5, 3, 2] 所以 pp 是极好的。

对于第二次询问,排列 p=[5,4,3,2,1,6]p = [5, 4, 3, 2, 1, 6] 的关键交换方案只有 x=[]x = [],且因为 pp 的终态只有 q=[5,4,3,2,1,6]q = [5, 4, 3, 2, 1, 6] 所以 pp 是极好的。

对于第三次询问,排列 p=[3,6,2,5,1,4]p = [3, 6, 2, 5, 1, 4] 的关键交换方案有 x=[2,4,3]x = [2, 4, 3] 和 x=[4,2,3]x = [4, 2, 3],且因为 pp 的终态只有 q=[3,2,1,6,5,4]q = [3, 2, 1, 6, 5, 4] 所以 pp 是极好的。

【数据范围】

本题采用捆绑测试。

子任务编号 n≤n \le 特殊性质 分值
11 88 无 1717
22 5050 A 33
33 B
44 1818 无 1919
55 4040 1616
66 5050 99
77 6060 1010
88 7070 1111
99 8080 1212
  • 特殊性质 A:m=0m = 0。
  • 特殊性质 B:m=1m = 1。

对于所有数据,满足 1≤q≤1041 \le q \le 10^4,9×108<P<1099 \times 10^8 < P < 10^9,2≤n≤802 \le n \le 80,0≤m<P0 \le m < P,PP 是质数。