loj#P4805. 「RMI 2024」Choose Interval

「RMI 2024」Choose Interval

题目描述

题目译自 Romanian Master of Informatics 2024 Day1 T1 「Choose Interval

你面临一个无限长的数组,数组中的每个位置最初都是 00,位置由整数编号标记。现在给你 NN 个区间,形式为 [A,B][A, B],对于每个区间,你需要选择以下两种操作之一来处理这个数组:

  • 翻转操作:将数组中除了位置 AA 到位置 BB 区间之外的所有值加 11
  • 常规操作:将数组从位置 AA 到位置 BB 区间内的所有值加 11

你的任务是为每个区间选择一种操作方式,使得所有操作完成后,数组中的最大值尽可能小。

输入格式

输入的第一行是一个整数 NN,表示区间的数量。接下来的 NN 行,每行包含两个空格分隔的整数 AABB,表示一个区间的起点和终点。

输出格式

输出的第一行是一个整数,表示在最优选择下执行 NN 次操作后数组中的最大值。

第二行是一个长度为 NN 的二进制字符串,第 ii 个字符为 00 表示第 ii 次操作选择了翻转操作,为 11 表示选择了常规操作。

如果存在多种最优操作方案,输出任意一种有效方案即可。

5
10 10
6 6
1 7
2 5
2 7

2
11110

另一种同样合法的答案是:

2
11011

数据范围与提示

对于所有输入数据,满足:

  • 1N200 0001 \leq N \leq 200 \ 000
  • 1AB2N1 \leq A \leq B \leq 2 N

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 77 N20N \leq 20
22 2424 N150N \leq 150
33 2121 N1 000N \leq 1 \ 000
44 3434 N50 000N \leq 50 \ 000
55 1414 无附加限制