AT_arc211_e.[ARC211E] Greedy Takahashi 2

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

给定一个正整数 NN 和一个排列 PP,其中 PP 是 1,2,…,N1,2,\dots,N 的一个排列。

现在有一棵有 NN 个点的树,这些点编号为 1,2,…,N1,2,\dots,N。Snuke 和 Takahashi 根据以下规则行动:

  • Snuke 会指定一个 1,2,…,N1,2,\dots,N 的排列 QQ,使得 Takahashi 按下述规则操作后返回的序列,是在所有可能情况下字典序最大的。
  • Takahashi 初始在树的 11 号节点,他先获得 QQ,然后将序列 RR 初始化为长度为 11 的序列 (Q1)(Q_1)。他接下来进行 N−1N-1 次如下操作,最终返回 RR:
    • 在所有与之前已访问节点相连且尚未访问的节点中,访问 QiQ_i 最小的那个节点 ii,然后把 QiQ_i 加到 RR 末尾。

这里,节点 11 被认为最开始已经访问过。

你的任务是判断,是否存在某棵树,使得 Takahashi 最终返回的序列为 PP。

你将获得 TT 个测试用例,每个都需要分别判断。

输入格式

输入由标准输入给出,格式如下:

TT
第 1 个测试用例
第 2 个测试用例
⋮\vdots
第 TT 个测试用例

每个测试用例格式如下:

NN P1P_1 P2P_2 …\ldots PNP_N

输出格式

输出 TT 行。

第 ii 行应为 Yes,表示第 ii 个测试用例存在满足条件的树;否则输出 No。

输入输出样例

  • 输入#1

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

    输出#1

    Yes
    No
    Yes

说明/提示

样例解释 1

对于第一个测试用例,存在一棵 44 个点的树 1−21-2,1−31-3,2−42-4,它满足条件。

Snuke 若选择 Q=(4,3,2,1)Q=(4,3,2,1),Takahashi 会按顺序访问 1,3,2,41,3,2,4 号点,并返回 R=(4,2,3,1)R=(4,2,3,1)。无论 Snuke 选择什么 QQ,Takahashi 最终返回的序列字典序不会超过 (4,2,3,1)(4,2,3,1),所以最终返回的就是 (4,2,3,1)(4,2,3,1)。

对于第二个测试用例,可以证明不存在满足条件的树。

数据范围

  • 1≤T≤1051 \le T \le 10^5
  • 1≤N≤2×1051 \le N \le 2 \times 10^5
  • PP 是 1,2,…,N1,2,\dots,N 的一个排列
  • 所有测试用例中的 NN 之和不超过 2×1052 \times 10^5
  • 所有输入均为整数

由 ChatGPT 5 翻译

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

首页