#P12941. [NERC 2019] Help BerLine
[NERC 2019] Help BerLine
Description
很快,新的手机服务提供商 BerLine 将在 Berland 开始运营!
客户服务的启动计划沿着首都的主街进行。已经有 个基站安装完毕,它们沿着主街从左到右依次排列,编号从 到 。
目前,所有这些基站都处于关闭状态。它们将按照某个排列 ()依次开启,每天开启一个基站,其中 表示第 天开启的基站编号。因此,开启所有基站需要 天时间。
每个基站都有一个工作频率 —— 这是一个介于 到 之间的整数。
对于基站的工作频率有一个重要要求:考虑任意时刻,对于任何手机用户,如果查看其手机信号覆盖范围内所有已开启的基站,那么在这些基站中至少有一个的工作频率在该组基站中是唯一的。由于手机的信号强度和用户位置事先未知,这意味着对于任何非空的已开启基站子段,其中至少有一个基站的工作频率在该子段中是唯一的。
例如,假设 ,所有基站都已开启,且其频率为 。对于任意子段,该子段内都存在一个频率唯一的基站。但如果 ,则子段 (从第 个到第 个基站)中没有频率是唯一的。
你的任务是为每个基站分配一个 到 之间的频率,使得在任意时刻(按照给定排列 开启基站的过程中)都满足上述频率要求。
Input Format
输入的第一行包含一个整数 ()—— 测试用例的数量。接下来是 个测试用例的描述。
每个测试用例的第一行包含一个整数 ()—— BerLine 基站的数量。
第二行包含 个不同的整数 ()—— 基站开启的顺序,即第 天开启编号为 的基站。
保证所有测试用例都存在正确的解。
Output Format
对于每个测试用例,输出一行 个整数 ()—— 分配给每个基站的工作频率。如果有多个解,输出任意一个即可。
5
3
1 3 2
3
1 2 3
1
1
10
6 10 4 2 7 9 5 8 3 1
10
2 4 6 9 1 8 10 5 3 7
1 3 2
10 20 10
1
2 3 4 5 3 1 3 5 4 2
1 2 3 4 5 6 7 8 9 10
Hint
在第一个测试用例中,,。可以给基站分配频率 。
- 第 1 天:只有基站 开启,其频率为 。
- 第 2 天:基站 和 开启,频率为 。
- 第 3 天:所有基站开启,频率为 (沿街道方向排列)。
在每一天,任何非空的已开启基站子段中都有一个频率唯一的基站。可以证明,在这个测试用例中必须使用三个不同的频率。
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号