loj#P4782. 「RMI 2019」还原数组
「RMI 2019」还原数组
题目描述
题目译自 Romanian Master of Informatics 2019 Day1 T3 「Restore Array」
你的任务是根据 个给定的约束条件,确定一个长度为 的二进制数组 。每个约束条件的形式为: $(0 \leq l \leq r<N, 1 \leq k \leq r-l+1,0 \leq value \leq 1)$,表示子数组 中第 小的元素是 。请注意,数组 的编号从 开始。
输入格式
输入的第一行包含两个整数 和 ,表示数组 的长度和约束条件的数量。 接下来的 行描述了这些约束条件。每行包含四个整数 ,描述第 个约束。
输出格式
输出的第一行包含 个整数,表示一个可能的二进制数组 。如果存在多个符合所有 个约束条件的数组,你可以输出其中任意一个。如果不存在这样的数组,则输出单个整数 。
4 5
0 1 2 1
0 2 2 0
2 2 1 0
0 1 1 0
1 2 1 0
0 1 0 0
存在多个二进制数组能够满足所有约束条件,其中一个是 0 1 0 0,原因如下:
- 在子数组 0 1
0 0中,第 小的元素是1。 - 在子数组 0 1 0
0中,第 小的元素是0。 - 在子数组
0 100中,第 小的元素是0。 - 在子数组 0 1
0 0中,第 小的元素是0。 - 在子数组
01 00中,第 小的元素是0。
数据范围与提示
详细子任务附加限制及分值如下表所示。
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| ,所有约束中 | ||
| ,所有约束中 或 | ||