#P14638. [IATI2019 Day2]festival
[IATI2019 Day2]festival
题目描述
Shumen 音乐节即将开始。共有 N 位表演者,每位表演者将演出两场。
对第 i 位表演者:
- 第一场演出时间区间为
[a_i, b_i] - 第二场演出时间区间为
[c_i, d_i]
这里区间端点也算在演出时间内。
Alice 很喜欢所有类型的音乐,因此她希望每位表演者至少看一场。但问题在于,不同演出可能在同一时间进行,而 Alice 在任意时刻最多只能看一场。
请你判断是否存在一种选择方案,使得每位表演者恰好选择一场,且所有被选择的演出时间区间两两不重叠。如果存在,请输出任意一种方案;否则输出 No。
两个演出区间 [s_i, e_i] 与 [s_j, e_j] 被认为重叠,当且仅当存在某个时刻 t 同时满足:
s_i <= t <= e_is_j <= t <= e_j
输入格式
第一行一个整数 N,表示表演者人数。
接下来 N 行,每行四个整数 a_i, b_i, c_i, d_i,描述第 i 位表演者的两场演出。
输出格式
- 若无解,输出一行
No。 - 若有解,第一行输出
Yes,接下来N行中,第i行输出:1表示选择第i位表演者的第一场;2表示选择第i位表演者的第二场。
若有多种可行方案,输出任意一种。
数据范围
1 <= N <= 10^50 <= a_i <= b_i < c_i <= d_i < 10^9
子任务
| 子任务 | 分值 | N 上限 |
额外限制 |
|---|---|---|---|
| 1 | 10 | 20 |
无 |
| 2 | 15 | 4 × 10^3 |
对所有 i 都有 a_i = b_i 且 c_i = d_i |
| 3 | 32 | 无 | |
| 4 | 43 | 10^5 |
样例 1
输入
3
0 0 1 6
2 2 3 4
1 3 5 5
输出
Yes
1
2
2
另一组合法输出是:
Yes
1
1
2
样例 2
输入
3
0 0 1 6
2 2 3 4
0 0 1 3
输出
No
样例 3
输入
4
2 2 3 3
0 0 4 4
0 0 1 1
1 1 2 2
输出
Yes
1
2
1
1