logo AlgoBeat OnlineJudge
登录 注册

#214174. 线段

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

你有一个可重集 ,每个元素是一个线段。初始你有 个元素,第 个元素为线段

接下来有 次操作,每次操作给出一个线段 同时检查当前的每个元素 。若其与线段 有交,则将相交的部分从原线段中分割出来,然后将剩下的几部分作为新的元素加入,并把原来的元素删掉。新的元素不会参与本次操作,线段 不会被加入

形式化地,令 ,若

  • 将线段 加入

  • ,将线段 加入

  • ,将线段 加入

  • 中删除线段

每次操作后,请你输出当前的元素个数。

注意,若每次检查后产生的元素若与原来的某个元素相同,则保留多个。若删除元素时存在多个和当前元素相同的元素,则只删除其中一个。

输入格式

第一行两个正整数 ,表示初始元素个数和操作次数。

接下来 行,每行两个正整数 ,表示每个初始元素

接下来 行,每行两个正整数 ,表示每次操作给出的区间

输出格式

输出 行,每行一个整数表示每次操作后的元素个数。

样例

样例输入 1

5 3
1 1
10 10
3 3
3 3
1 10
2 8
3 10
1 3

样例输出 1

7
8
9

样例输入 2

10 10
2 9
10 10
2 8
2 5
2 9
2 2
1 10
10 10
2 9
2 2
2 10
1 6
1 10
3 4
2 9
1 9
3 7
2 10
2 10
2 10

样例输出 2

11
16
16
28
29
29
34
34
34
34

数据范围与提示

【样例解释 1】

初始有 个线段

第一个操作给定线段 ,与其有交的线段有 ,操作后 保持不变, 变为 ,共有 个元素。

第二个操作给定线段 ,与其有交有 ,其中只有 会变为 ,共有 个元素。

第三个操作给定线段 ,与其相交的会变化的元素只有 会变为 ,共有 个元素。

【数据范围】

本题使用子任务捆绑

对于所有测试数据,

子任务编号 特殊性质 分值
  • 特殊性质:保证