A85953.「NOI2020」时代的眼泪
NOI/NOI+/CTSC
通过率:0%
时间限制:6.00s
内存限制:1024MB
题目描述
小 L 喜欢与智者交流讨论,而智者也经常为小 L 出些思考题。
这天智者又为小 L 构思了一个问题。智者首先将时空抽象为了一个二维平面,进而将一个事件抽象为该平面上的一个点,将一个时代抽象为该平面上的一个矩形。
为了方便,下面记 (a,b)≤(c,d) 表示平面上两个点 (a,b),(c,d) 满足 a≤c,b≤d。
更具体地,智者给定了 n 个事件,他们用平面上 n 个不同的点 {(xi,yi)}i=1n 来表示;
智者还给定了 m 个时代,每个时代用平面上一个矩形 (ri,1,ri,2,ci,1,ci,2) 来表示,其中 (ri,1,ci,1) 是矩形的左下角,(ri,2,ci,2) 是矩形的右上角,保证 (ri,1,ci,1)≤(ri,2,ci,2)。我们称时代 i 包含了事件 j 当且仅当 (ri,1,ci,1)≤(xj,yj)≤(ri,2,ci,2)。
智者认为若两个事件 i,j 满足 (xi,yi)≤(xj,yj),则这两个事件形成了一次遗憾。而对一个时代内包含的所有事件,它们所形成的遗憾被称为这个时代的眼泪,而形成的遗憾次数则称为该时代的眼泪的大小。现在智者想要小 L 计算每个时代的眼泪的大小。
小 L 明白,如果他回答不了这个问题,他也将成为时代的眼泪,请你帮帮他。
输入格式
从文件 tears.in 中读入数据。
第一行两个整数 n,m,分别表示事件数与时代数。
第二行 n 个整数 pi,其中第 i 个数表示事件 i 在平面上的坐标为 (i,pi)。保证 pi 为一个 1 到 n 的排列。
之后 m 行,每行四个整数 ri,1,ri,2,ci,1ci,2,表示每个时代对应的矩形。
输出格式
输出到文件 tears.out 中。
输出 m 行,每行包含一个整数,第 i 行输出第 i 个时代的眼泪的大小。
输入输出样例
输入#1
9 9 9 8 7 6 2 4 5 3 1 4 9 3 6 2 9 1 8 3 8 2 4 3 9 2 7 2 8 1 6 1 9 1 9 1 3 5 7 2 3 3 3 6 6 6 6
输出#1
1 4 2 4 4 4 0 0 0
说明/提示
对于所有测试点:1≤n≤105,1≤m≤2×105,1≤ri,1,ri,2,ci,1,ci,2≤n。
每个测试点的具体限制见下表:
| 测试点编号 | n≤ | m≤ | 特殊性质 |
|---|---|---|---|
| 1∼3 | 10 | 10 | |
| 4 | 3,000 | 3,000 | |
| 5 | 4,000 | 4,000 | |
| 6 | 5,000 | 5,000 | |
| 7 | 25,000 | 50,000 | A |
| 8 | 50,000 | 100,000 | A |
| 9 | 75,000 | 150,000 | A |
| 10 | 100,000 | 200,000 | A |
| 11 | 60,000 | 120,000 | B |
| 12 | 80,000 | 160,000 | B |
| 13 | 100,000 | 200,000 | B |
| 14 | 20,000 | 40,000 | |
| 15 | 30,000 | 60,000 | |
| 16 | 40,000 | 80,000 | |
| 17 | 50,000 | 100,000 | |
| 18 | 60,000 | 120,000 | |
| 19 | 70,000 | 140,000 | |
| 20∼22 | 100,000 | 200,000 | C |
| 23∼25 | 100,000 | 200,000 |
特殊限制 A:对于所有时代 i 有 ci,1=1,ci,2=n。
特殊限制 B:任意两个不同时代所代表的矩形,它们要么是包含关系(一个矩形在另一个矩形内,边界允许重合),要么是相离关系(两矩形不包含共同点,边界不允许重合)。
特殊限制 C:最多有 50 对事件 (i,j)(1≤i<j≤n)不满足 (i,pi)≤(j,pj)。