AT_arc204_d.[ARC204D] Favorite Interval

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

给定整数 N,L,RN, L, R。

这些整数满足以下条件:

  • 2≤N2 \leq N
  • 0≤L<R≤N0 \leq L < R \leq N
  • (L,R)≠(0,N)(L, R) \neq (0, N)

初始化一个长度为 NN 的序列 A=(A0,A1,…,AN−1)A = (A_{0}, A_{1}, \dots , A_{N - 1}),其中 A=(0,1,…,N−1)A = (0, 1, \dots, N - 1)。

选择一个排列 P=(P0,P1,…,PN−(R−L)−1)P = (P_{0}, P_{1}, \dots, P_{N - (R - L) - 1}),该排列是 (R−L,R−L+1,…,N−1)(R - L, R - L + 1, \dots, N - 1) 的一个全排列,并按顺序对 i=0,1,…,N−(R−L)−1i = 0, 1, \dots, N - (R - L) - 1 执行以下操作:

  • 令 aa 为 PiP_{i} 除以 ∣A∣|A| 的余数,移除 AaA_{a}(每次移除元素后,序列 AA 的下标会重新从 00 编号)。

判断是否存在某个 PP,使得最终 A=(L,L+1,…,R−1)A = (L, L + 1, \dots, R - 1),如果存在,输出其中一个 PP。

输入格式

输入从标准输入读入,格式如下:

NN LL RR

输出格式

如果不存在使 A=(L,L+1,…,R−1)A = (L, L + 1, \dots, R - 1) 的 PP,输出 No。

如果存在,输出一种方案,格式如下:

Yes P0P_{0} P1P_{1} ⋯\cdots PN−(R−L)−1P_{N - (R - L) - 1}

具体来说,第一行输出 Yes,第二行输出 P0,P1,…,PN−(R−L)−1P_{0}, P_{1}, \dots, P_{N - (R - L) - 1},用空格分隔。

如果有多种方案,输出任意一种均可。

输入输出样例

  • 输入#1

    6 3 5

    输出#1

    Yes
    2 4 5 3
  • 输入#2

    9 2 4

    输出#2

    Yes
    4 5 6 7 3 8 2
  • 输入#3

    178 68 167

    输出#3

    No

说明/提示

样例解释 1

当选择 P=(2,4,5,3)P = (2, 4, 5, 3) 时,对 A=(0,1,2,3,4,5)A = (0, 1, 2, 3, 4, 5) 进行四次操作如下:

  • P0=2P_{0} = 2,∣A∣=6|A| = 6,余数为 22,移除 A2=2A_{2} = 2,此时 A=(0,1,3,4,5)A = (0, 1, 3, 4, 5)。
  • P1=4P_{1} = 4,∣A∣=5|A| = 5,余数为 44,移除 A4=5A_{4} = 5,此时 A=(0,1,3,4)A = (0, 1, 3, 4)。
  • P2=5P_{2} = 5,∣A∣=4|A| = 4,余数为 11,移除 A1=1A_{1} = 1,此时 A=(0,3,4)A = (0, 3, 4)。
  • P3=3P_{3} = 3,∣A∣=3|A| = 3,余数为 00,移除 A0=0A_{0} = 0,此时 A=(3,4)A = (3, 4)。

因此,选择 P=(2,4,5,3)P = (2, 4, 5, 3) 可以达成目标。输出 P=(5,2,4,3)P = (5, 2, 4, 3) 也是可以的。

数据范围

  • 2≤N≤2×1052 \leq N \leq 2 \times 10^{5}
  • 0≤L<R≤N0 \leq L < R \leq N
  • (L,R)≠(0,N)(L, R) \neq (0, N)
  • 所有输入均为整数。

由 ChatGPT 4.1 翻译

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

首页