AT_tupc2024_j.Median Operations

通过率:0%

AC君温馨提醒

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

题目描述

给定一个正的奇数 NN,以及 (1,2,…,N)(1, 2, \ldots, N) 的一个排列 P=(P1,P2,…,PN)P = (P_1, P_2, \ldots, P_N)。

你最初拥有一个数列 A=PA = P,你可以对数列 AA 重复进行如下操作:

  • 选择 AA 的一个奇数长度的连续子序列。设选中的连续子序列的中位数为 mm,从 AA 中删除该连续子序列,并在其位置插入 mm。
    • 更加严格地说,选择满足 1≤l≤r≤∣A∣1 \leq l \leq r \leq |A| 并且 r−l+1r-l+1 为奇数的整数对 (l,r)(l, r)。令 (Al,Al+1,…,Ar)(A_l, A_{l+1}, \ldots, A_r) 的中位数为 mm,将 AA 替换为 (A1,…,Al−1,m,Ar+1,…,An)(A_1, \ldots, A_{l-1}, m, A_{r+1}, \ldots, A_n)。

对于每个 k=1,2,…,Nk = 1, 2, \ldots, N,请判断通过若干次操作后,能否将 AA 变为长度为 11 的数列 (k)(k)。

有 TT 个测试用例,请分别回答。

输入格式

输入通过标准输入按以下格式给出:

TT case1\text{case}_1 case2\text{case}_2 ⋮\vdots caseT\text{case}_T

其中 casei\text{case}_i 表示第 ii 个测试用例,每个测试用例的格式如下:

NN P1P_1 P2P_2 …\ldots PNP_N

输出格式

请输出 TT 行。

第 ii 行输出第 ii 个测试用例的答案,为长度为 NN 的字符串。第 kk 位为 1 表示可以通过若干次操作将序列变为 (k)(k),否则为 0。

输入输出样例

  • 输入#1

    2
    5
    2 3 1 5 4
    7
    7 6 3 4 5 2 1

    输出#1

    00110
    0101010

说明/提示

部分分数

  • 对于满足额外约束“每个输入文件中所有 NN 的总和不超过 50005000”的数据集,答对可获得 1010 分。

样例解释 1

对于第 11 个测试用例:

  • 当 k=3k=3 时:选择 (l,r)=(1,5)(l, r) = (1, 5),可以得到 A=(3)A = (3)。
  • 当 k=4k=4 时:先选择 (l,r)=(1,3)(l, r) = (1, 3),得到 A=(2,5,4)A = (2, 5, 4),再选择 (l,r)=(1,3)(l, r) = (1, 3),得到 A=(4)A = (4)。
  • 对于 k=1,2,5k=1,2,5,不存在这样的操作序列。

数据范围

  • 1≤T≤1041 \leq T \leq 10^4
  • 3≤N≤2×1053 \leq N \leq 2 \times 10^5
  • NN 为奇数
  • (P1,P2,…,PN)(P_1, P_2, \ldots, P_N) 是 (1,2,…,N)(1, 2, \ldots, N) 的一个排列
  • 每个输入文件中所有 NN 的总和不超过 2×1052 \times 10^5
  • 所有输入均为整数

由 ChatGPT 5 翻译

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

首页