#P14638. [IATI2019 Day2]festival

    ID: 13854 传统题 2000ms 512MiB 尝试: 8 已通过: 1 难度: 8 上传者: 标签>CF25002-SAT强连通分量数据结构平衡树线段树图论

[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_i
  • s_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^5
  • 0 <= a_i <= b_i < c_i <= d_i < 10^9

子任务

子任务 分值 N 上限 额外限制
1 10 20
2 15 4 × 10^3 对所有 i 都有 a_i = b_ic_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