CF1523G.Try Booking

NOI/NOI+/CTSC

通过率:0%

时间限制:2.00s

内存限制:512MB

AC君温馨提醒

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

题目描述

William owns a flat in central London. He decided to rent his flat out for the next nn days to earn some money.

Since his flat is in the center of the city, he instantly got mm offers in the form (li,ri)(l_i, r_i), which means that someone wants to book the flat from day lil_i until day rir_i inclusive. To avoid spending a lot of time figuring out whether it's profitable for him to accept an offer, William decided to develop an algorithm. The algorithm processes all offers as they arrive and will only accept offer ii if the following two conditions are satisfied:

  • ri−li+1≥xr_i - l_i + 1 \ge x.
  • None of the days between lil_i and rir_i are occupied by a previously accepted offer

William isn't sure what value xx should have and he asks you for help. For all xx from 11 to nn he wants you to calculate the total number of days for which the flat would be occupied if the corresponding value will be assigned to xx.

威廉在伦敦市中心拥有一套公寓。他决定将这套公寓出租 nn 天以赚取一些收入。

由于他的公寓地处市中心,他立刻收到了 mm 个预订请求,每个请求形如 (li,ri)(l_i, r_i),表示某人希望从第 lil_i 天到第 rir_i 天(含端点)租住该公寓。为了避免花费大量时间判断接受某个请求是否盈利,威廉决定设计一个算法。该算法按请求到达的顺序依次处理所有请求,并且仅当以下两个条件同时满足时才接受第 ii 个请求:

  • ri−li+1≥xr_i - l_i + 1 \ge x;
  • 区间 [li,ri][l_i, r_i] 内的任意一天均未被之前已接受的请求占用。

威廉不确定参数 xx 应取何值,因此向你求助。请你针对每个 x=1,2,…,nx = 1, 2, \dots, n,计算:若将该 xx 值代入上述算法,则公寓总共会被占用多少天。

输入格式

The first line contains two integers nn and mm (1≤n≤5⋅104,1≤m≤105)(1 \le n \le 5 \cdot 10^4, 1 \le m \le 10^5), which are the number of days and the number of offers, respectively.

Each of the next mm lines contains two integers lil_i and rir_i (1≤li≤ri≤n)(1 \le l_i \le r_i \le n), which describe the ii-th renting offer. All offers are given in chronological order.

第一行包含两个整数 nn 和 mm (1≤n≤5⋅104,1≤m≤105)(1 \le n \le 5 \cdot 10^4, 1 \le m \le 10^5),分别表示天数和租赁报价的数量。

接下来的 mm 行中,每行包含两个整数 lil_i 和 rir_i (1≤li≤ri≤n)(1 \le l_i \le r_i \le n),用于描述第 ii 个租赁报价。所有报价均按时间顺序给出。

输出格式

Print nn integers. The number in ii-th line must be equal to the number of days the flat would be occupied if the algorithm will use the value of xx equal to ii.

输出 nn 个整数。第 ii 行的数字必须等于:当算法中 xx 的取值为 ii 时,该公寓被占用的天数。

输入输出样例

  • 输入#1

    6 5
    2 3
    3 5
    1 1
    1 5
    1 6

    输出#1

    3
    2
    3
    5
    5
    6

说明/提示

The description of segments from the first sample test for each xx:

  • x=1x = 1 — algorithm will approve offers: 11 (2..3), 33 (1..1). The total number of days for which William's flat will be rented out is 3
  • x=2x = 2 — algorithm will approve offers: 11 (2..3). The total number of days for which William's flat will be rented out is 2
  • x=3x = 3 — algorithm will approve offers: 22 (3..5). The total number of days for which William's flat will be rented out is 3
  • x=4x = 4 — algorithm will approve offers: 44 (1..5). The total number of days for which William's flat will be rented out is 5
  • x=5x = 5 — algorithm will approve offers: 44 (1..5). The total number of days for which William's flat will be rented out is 5
  • x=6x = 6 — algorithm will approve offers: 55 (1..6). The total number of days for which William's flat will be rented out is 6

第一个样例测试中每个 xx 对应的区间描述如下:

  • x=1x = 1 — 算法将接受报价:11(2..3)、33(1..1)。William 的公寓总共被租出的天数为 3
  • x=2x = 2 — 算法将接受报价:11(2..3)。William 的公寓总共被租出的天数为 2
  • x=3x = 3 — 算法将接受报价:22(3..5)。William 的公寓总共被租出的天数为 3
  • x=4x = 4 — 算法将接受报价:44(1..5)。William 的公寓总共被租出的天数为 5
  • x=5x = 5 — 算法将接受报价:44(1..5)。William 的公寓总共被租出的天数为 5
  • x=6x = 6 — 算法将接受报价:55(1..6)。William 的公寓总共被租出的天数为 6

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

首页