#P1000C. Covered Points Count

    ID: 4211 远端评测题 3000ms 256MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>data structuresimplementationsortings*1700

Covered Points Count

Covered Points Count

题面翻译

题目大意:

给你n个区间,求被这些区间覆盖层数为k(k<=n)k(k<=n)的点的个数

输入格式:

第一行一个整数,nnn<=2105n<=2*10^5

以下nn行,每行有两个整数,即这个区间的左右端点l,r(0<=l<=r<=1018)l,r(0<=l<=r<=10^{18})

输出格式:

nn个整数,即每个被覆盖层数对应的点的个数

感谢@守望 提供翻译

题目描述

You are given n n segments on a coordinate line; each endpoint of every segment has integer coordinates. Some segments can degenerate to points. Segments can intersect with each other, be nested in each other or even coincide.

Your task is the following: for every k[1..n] k \in [1..n] , calculate the number of points with integer coordinates such that the number of segments that cover these points equals k k . A segment with endpoints li l_i and ri r_i covers point x x if and only if lixri l_i \le x \le r_i .

输入格式

The first line of the input contains one integer n n ( 1n2105 1 \le n \le 2 \cdot 10^5 ) — the number of segments.

The next n n lines contain segments. The i i -th line contains a pair of integers li,ri l_i, r_i ( 0liri1018 0 \le l_i \le r_i \le 10^{18} ) — the endpoints of the i i -th segment.

输出格式

Print n n space separated integers cnt1,cnt2,,cntn cnt_1, cnt_2, \dots, cnt_n , where cnti cnt_i is equal to the number of points such that the number of segments that cover these points equals to i i .

样例 #1

样例输入 #1

3
0 3
1 3
3 8

样例输出 #1

6 2 1

样例 #2

样例输入 #2

3
1 3
2 4
5 7

样例输出 #2

5 2 0

提示

The picture describing the first example:

Points with coordinates [0,4,5,6,7,8] [0, 4, 5, 6, 7, 8] are covered by one segment, points [1,2] [1, 2] are covered by two segments and point [3] [3] is covered by three segments.

The picture describing the second example:

Points [1,4,5,6,7] [1, 4, 5, 6, 7] are covered by one segment, points [2,3] [2, 3] are covered by two segments and there are no points covered by three segments.