Rayan Programming Contest 2024 - Selection (Codeforces Round 989, Div. 1 + Div. 2)
G1
Simurgh's Watch (Easy Version)
Codeforces
3500
原题
← F2G2 →
翻译中…

The only difference between the two versions of the problem is whether overlaps are considered at all points or only at integer points.

翻译中…

The legendary Simurgh, a mythical bird, is responsible for keeping watch over vast lands, and for this purpose, she has enlisted $n$ vigilant warriors. Each warrior is alert during a specific time segment $[l_i, r_i]$, where $l_i$ is the start time (included) and $r_i$ is the end time (included), both positive integers.

翻译中…

image

翻译中…

One of Simurgh's trusted advisors, Zal, is concerned that if multiple warriors are stationed at the same time and all wear the same color, the distinction between them might be lost, causing confusion in the watch. To prevent this, whenever multiple warriors are on guard at the same moment (which can be non-integer), there must be at least one color which is worn by exactly one warrior.

翻译中…

So the task is to determine the minimum number of colors required and assign a color $c_i$ to each warrior's segment $[l_i, r_i]$ such that, for every (real) time $t$ contained in at least one segment, there exists one color which belongs to exactly one segment containing $t$.

翻译中…

Input

翻译中…

The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases.

翻译中…

For each test case:

翻译中…
  • The first line contains an integer $n$ ($1 \leq n \leq 2 \cdot 10^5$) — the number of warriors stationed by Simurgh.
  • The next $n$ lines each contain two integers $l_i$ and $r_i$ ($1 \leq l_i \leq r_i \leq 10^9$) — the start and end times of the warrior's watch segment.
翻译中…

The sum of $n$ across all test cases does not exceed $2 \cdot 10^5$.

翻译中…

Output

翻译中…

For each test case:

翻译中…
  • Output the minimum number of colors $k$ needed.
  • Then, output a line of $n$ integers $c_i$ ($1 \leq c_i \leq k$), where each $c_i$ is the color assigned to the $i$-th warrior.
翻译中…

Note

翻译中…

We can represent each warrior's watch segment as an interval on the X-axis;

翻译中…

In test case 1, we have two independent intervals, which can be colored with the same color.

翻译中…

In test case 2, point 2 is common to two intervals, meaning we cannot color them with the same color.

翻译中…

In test case 3, the intervals can be colored as shown below (intervals are colored with the selected color; areas are colored if this color occurs exactly once at this point in time):

翻译中…

image

翻译中…

In test case 4, the intervals can be colored as shown below:

翻译中…

image

翻译中…

In test case 5, the intervals can be colored as shown below. The image on the right demonstrates an example of incorrect coloring for this test case; there is no unique color at the moment $5.5$:

翻译中…

image

翻译中…

样例

Input #1
5
2
1 2
3 4
2
1 2
2 3
3
1 4
2 5
3 6
5
1 4
2 8
3 7
5 10
6 9
5
1 5
2 6
3 7
4 7
6 7
Output #1
1
1 1
2
1 2
2
1 2 1
3
2 3 1 2 1
3
2 1 3 1 1
InputCopy OutputCopy
题目信息
题号
2034G1
时间限制
2 s
内存限制
256 MB
标签
构造
贪心
模拟
排序

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。