AT_agc068_c.[AGC068C] Ball Redistribution

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 个盒子,编号从 11 到 NN ,有 NN 个球,编号从 11 到 NN 。

你给 Snuke 布置了以下程序作为家庭作业。

  • 将每个球放入他喜欢的任何盒子中。同一个盒子里可以放多个球,也可以有盒子里不放球。
  • 按顺序对 i=1,2,⋯ ,Ni = 1, 2, \cdots, N 进行以下操作。
    • 如果盒子 ii 中没有球,则什么也不做。
    • 否则如果盒子 ii 中有球,则取出所有的球,按任意顺序排列。假设 kk 是取出的球数, (x1,x2,⋯ ,xk)(x_1, x_2, \cdots, x_k) 是排成一行的球的编号。对于每个 1≤j≤k1 \leq j \leq k ,将球 xjx_j 放入盒子 xj+1x_{j+1} 。这里, xk+1x_{k+1} 表示 x1x_1 。所有这些将球放入盒子的操作都是同时进行的。

Snuke 说他已经完成了作业,并向你报告了最终状态。具体地说,他说操作完成后,球 ii 在盒子 AiA_i 中。

你怀疑他是否正确执行了程序。请判断他报告的状态是否是程序的可能结果。

11 个输入有 TT 个测试用例。

制约

  • 1≤T≤2500001 \leq T \leq 250000
  • 1≤N≤2500001 \leq N \leq 250000
  • 1≤Ai≤N1 \leq A_i \leq N
  • 每个测试点中所有测试用例的 NN 之和最多为 250000250000。
  • 所有输入值均为整数。

输入格式

输入内容由标准输入提供,格式如下

TT
case1case_1
case2case_2
⋮\vdots
caseTcase_T

每个测试用例的格式如下:

NN
A1A_1 A2A_2 ⋯\cdots ANA_N

输出格式

对于每个测试用例,如果 Snuke 报告的状态是程序的可能结果,则打印 Yes,否则打印 No。

样例 1 解释

样本输出 1

下面的步骤产生了 Snuke 报告的状态,所以答案是 Yes。

  • 将球 1,2,31, 2, 3 分别放入盒子 1,1,21, 1, 2 中。
  • 取出盒子 11 中的球,并将它们排列为 (2,1)(2, 1) 。
    • 将球 22 放入盒子 11 。
    • 将球 11 放入盒子 22 。
  • 从盒子 22 中取出球,摆成 (1,3)(1, 3) 的样子。
    • 将球 11 放入盒子 33 。
    • 将球 33 放入盒子 11 。
  • 从盒子 33 中取出球,按 (1)(1) 的方式摆放。
    • 将球 11 放入盒子 11 。
  • 现在再把球 1,2,31, 2, 3 全部放入盒子 11 。

输入输出样例

  • 输入#1

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

    输出#1

    Yes
    No
    Yes
    No
    Yes

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

首页