AT_abc431_g.[ABC431G] One Time Swap 2

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N)。

对于一对整数 (l,r) (1≤l<r≤N)(l, r)\ (1\leq l\lt r\leq N),定义 f(l,r)f(l,r) 为将 AA 的第 ll 个元素与第 rr 个元素互换后得到的整数序列。

请用如下过程生成长度为 N(N−1)2\frac{N(N-1)}{2} 的整数序列序列 B=(B1,B2,…,BN(N−1)2)B=(B_1,B_2,\ldots,B_{\frac{N(N-1)}{2}}):

  • 准备一个空序列 B=()B=()。
  • 对于每一对整数 (l,r) (1≤l<r≤N)(l, r)\ (1\leq l\lt r\leq N),将 f(l,r)f(l,r) 加入 BB。
  • 按字典序(即串的字典序)对 BB 的各个序列进行排序。

现在给定 QQ 个询问,请依次处理每个询问。第 ii 个询问如下:

  • 给定一个整数 kk,找出一对整数 (l,r) (1≤l<r≤N)(l, r)\ (1\leq l\lt r\leq N),使得 Bk=f(l,r)B_k=f(l,r),并输出这对整数。

什么是序列的字典序?对于两个序列 S=(S1,S2,…,S∣S∣)S = (S_1,S_2,\ldots,S_{|S|}) 和 T=(T1,T2,…,T∣T∣)T = (T_1,T_2,\ldots,T_{|T|}),我们说 SS 字典序小于 TT,当且仅当满足以下两个条件之一。这里 ∣S∣|S| 和 ∣T∣|T| 表示 SS 和 TT 的长度。

  1. ∣S∣<∣T∣|S| \lt |T| 且 (S1,S2,…,S∣S∣)=(T1,T2,…,T∣S∣)(S_1,S_2,\ldots,S_{|S|}) = (T_1,T_2,\ldots,T_{|S|})。
  2. 存在一个整数 1≤i≤min⁡{∣S∣,∣T∣}1 \leq i \leq \min\lbrace |S|, |T| \rbrace,使得以下两点都成立:
    • (S1,S2,…,Si−1)=(T1,T2,…,Ti−1)(S_1,S_2,\ldots,S_{i-1}) = (T_1,T_2,\ldots,T_{i-1})
    • SiS_i 小于 TiT_i(按数值比较)。

输入格式

输入按以下格式给出:

N Q A1 A2 … AN query1 query2 ⋮ queryQN\ Q\ A_1\ A_2\ \ldots\ A_N\ \mathrm{query}_1\ \mathrm{query}_2\ \vdots\ \mathrm{query}_Q

每个查询的格式如下:

kk

输出格式

输出 QQ 行。第 ii 行应包含该查询的答案,格式如下:

l rl\ r

如果有多组解,输出任意一组都视为正确。

输入输出样例

  • 输入#1

    4 3
    1 2 1 2
    1
    3
    5

    输出#1

    2 3
    2 4
    1 2
  • 输入#2

    10 10
    1 1 2 7 6 3 5 7 3 3
    21
    36
    9
    17
    13
    24
    7
    45
    33
    1

    输出#2

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

说明/提示

样例解释 1

f(1,2)=(2,1,1,2), f(1,3)=(1,2,1,2), f(1,4)=(2,2,1,1), f(2,3)=(1,1,2,2), f(2,4)=(1,2,1,2), f(3,4)=(1,2,2,1)f(1, 2) = (2, 1, 1, 2),\ f(1, 3) = (1, 2, 1, 2),\ f(1, 4) = (2, 2, 1, 1),\ f(2, 3) = (1, 1, 2, 2),\ f(2, 4) = (1, 2, 1, 2),\ f(3, 4) = (1, 2, 2, 1)。

按字典序排序这六组序列后,得到 B=((1,1,2,2),(1,2,1,2),(1,2,1,2),(1,2,2,1),(2,1,1,2),(2,2,1,1))B=((1, 1, 2, 2), (1, 2, 1, 2), (1, 2, 1, 2), (1, 2, 2, 1), (2, 1, 1, 2), (2, 2, 1, 1))。

  • 对于第 11 个询问,唯一满足 B1=(1,1,2,2)=f(l,r)B_1=(1,1,2,2)=f(l,r) 的 (l,r)(l,r) 为 (2,3)(2,3)。
  • 对于第 22 个询问,所有满足 B3=(1,2,1,2)=f(l,r)B_3=(1,2,1,2)=f(l,r) 的 (l,r)(l,r) 为 (1,3),(2,4)(1,3),(2,4),这两组都可选。
  • 对于第 33 个询问,唯一满足 B5=(2,1,1,2)=f(l,r)B_5=(2,1,1,2)=f(l,r) 的 (l,r)(l,r) 为 (1,2)(1,2)。

数据范围

  • 2≤N≤2×1052\leq N\leq 2\times 10^5
  • 1≤Q≤2×1051\leq Q\leq 2\times 10^5
  • 1≤Ai≤N1\leq A_i\leq N
  • 1≤k≤N(N−1)21\leq k\leq \frac{N(N-1)}{2}
  • 所有输入均为整数。

由 ChatGPT 5 翻译

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

首页