AT_arc200_c.[ARC200C] Movie Theater

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

给定正整数 NN 和长度为 NN 的正整数序列 L=(L1,L2,…,LN),R=(R1,R2,…,RN)L=(L_1,L_2,\ldots,L_N),R=(R_1,R_2,\ldots,R_N)。这里保证 L1,L2,…,LN,R1,R2,…,RNL_1,L_2,\ldots,L_N,R_1,R_2,\ldots,R_N 互不相同。

某电影院有 NN 个座位,左右排成一行。从左到右第 ii 个座位称为座位 ii。

有 NN 个人(编号 11 到 NN)来到电影院。你需要为每个人分配一个座位。若将第 ii 个人分配到座位 PiP_i,则第 ii 个人会在时刻 LiL_i 经过座位 1,2,…,Pi−11,2,\ldots,P_i-1 并坐到座位 PiP_i,在时刻 RiR_i 经过座位 1,2,…,Pi−11,2,\ldots,P_i-1 离开座位。

第 ii 个人的不满度定义为在时刻 LiL_i 到 RiR_i 之间(不包括 Li,RiL_i,R_i)被其他人经过座位 PiP_i 的次数。

请你在所有使 1,2,…,N1,2,\ldots,N 的排列 PP 中,找到总不满度最小且字典序最小的 PP。

有 TT 组测试数据,请分别输出答案。

输入格式

输入按以下格式从标准输入读入。

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

每组测试数据格式如下:

NN
L1L_1 R1R_1
L2L_2 R2R_2
⋮\vdots
LNL_N RNR_N

输出格式

输出 TT 行。

第 ii 行输出第 ii 组测试数据中,使所有人的不满度总和最小且字典序最小的排列 PP,用空格分隔。

输入输出样例

  • 输入#1

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

    输出#1

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

说明/提示

数据范围

  • 1≤T≤5001\leq T\leq 500
  • 1≤N≤5001\leq N\leq 500
  • 1≤Li<Ri≤2N1\leq L_i < R_i \leq 2N
  • L1,L2,…,LN,R1,R2,…,RNL_1,L_2,\ldots,L_N,R_1,R_2,\ldots,R_N 互不相同
  • 所有测试数据中 NN 的总和不超过 500500
  • 输入的所有值均为整数

样例解释 1

对于第 11 组测试数据,若 P=(2,1,3)P=(2,1,3),过程如下:

  • 时刻 11:第 11 个人坐到座位 22。
  • 时刻 22:第 22 个人坐到座位 11。
  • 时刻 33:第 22 个人离开座位 11。
  • 时刻 44:第 33 个人坐到座位 33,第 11 个人的不满度增加 11。
  • 时刻 55:第 11 个人离开座位 22。
  • 时刻 66:第 33 个人离开座位 33。

此时总不满度为 11。无法使总不满度小于 11,且 P=(2,1,3)P=(2,1,3) 是所有总不满度为 11 的排列中字典序最小的。因此答案为 P=(2,1,3)P=(2,1,3)。

对于第 22 组测试数据,无论如何分配,所有人的总不满度都是 66。

由 ChatGPT 4.1 翻译

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

首页