CF926J.Segments

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一条白色的直线,依次在其上添加 nn 个黑色线段。

每添加一个线段后,要求确定黑色线段的连通块数量(即所有黑色线段的并集中的黑色线段数量)。

特别地,如果一个线段在点 xx 处结束,另一个线段在点 xx 处开始,这两条线段属于同一个连通块。

输入格式

第一行包含一个整数 nn(1≤n≤2000001 \leq n \leq 200000),表示线段的数量。

接下来的 nn 行中,第 ii 行包含两个整数 lil_{i} 和 rir_{i}(1≤li<ri≤1091 \leq l_{i} < r_{i} \leq 10^{9}),表示第 ii 条线段的左端点和右端点。线段按照添加顺序给出。

输出格式

输出 nn 个整数,依次表示每次添加线段后黑色线段连通块的数量。

输入输出样例

  • 输入#1

    3
    1 3
    4 5
    2 4

    输出#1

    1 2 1
  • 输入#2

    9
    10 20
    50 60
    30 40
    70 80
    90 100
    60 70
    10 40
    40 50
    80 90

    输出#2

    1 2 3 4 5 4 3 2 1

说明/提示

在第一个样例中,前两条线段添加后,由于它们没有相交,所以有两个连通块。第三条线段与左侧线段相交,并且在点 44 处与右侧线段相接(根据题意,这些线段属于同一个连通块)。因此,添加第三条线段后,黑色线段的连通块数量为 11。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页