题目描述
请注意本题特殊的时间限制。由于评测机性能差距,OJ 上时限暂且设置为 $24$ 秒。
给你平面上 $n$ 个点,第 $i$ 个点拥有初始点权 $v_i$。现在一共有 $m$ 次操作,每次操作给出一个矩形和一个权值 $c$,表示把被包含在矩形中的点点权都减去 $c$。
每次操作之后请求出点权不小于零的点的个数。本题强制在线。
输入格式
第一行两个整数 $n,m$。
接下来 $n$ 行,第 $i$ 行是两个整数 $p_i,v_i$,表示存在一个点 $(i,p_i)$,其初始点权是 $v_i$,数据保证 $p$ 是一个排列。
下面 $m$ 行,每行五个整数 $x_1,y_1,x_2,y_2,c$,表示操作的矩形左下角的坐标和右上角的坐标以及减去的值 $c$。需要注意的是,这五个数都需要异或上 $\text{lastans}$ 以获得真实值,上一次的答案初始为 $0$。
输出格式
输出 $m$ 行,每行一个整数表示答案。
样例输入
5 5
5 3
2 3
4 13
3 4
1 10
4 1 5 1 3
4 6 0 1 3
6 7 6 7 0
6 7 0 0 14
1 0 7 0 4
样例输出
5
4
4
3
3
数据范围
全部数据保证 $1\le n\le 10^4,1\le m\le 4\times 10^6,0\le v_i,c\le 4\times 10^7,1\le x_1\le x_2\le n,1\le y_1\le y_2\le n$。
子任务捆绑:
| 编号 | 子任务分数 | $n\le$ | $m\le$ | 
|---|---|---|---|
| 1 | $20$ | $10^3$ | 1000 | 
| 2 | $30$ | $10^4$ | $1.5\times 10^6$ | 
| 3 | $30$ | $10^4$ | $3\times 10^6$ | 
| 4 | $20$ | $10^4$ | $4\times 10^6$ | 
提示
下发快读板板,可以按需使用。
namespace IO{
    char ibuf[(1<<20)+1],*iS,*iT;
    #if ONLINE_JUDGE
    #define gh() (iS==iT?iT=(iS=ibuf)+fread(ibuf,1,(1<<20)+1,stdin),(iS==iT?EOF:*iS++):*iS++)
     #else
    #define gh() getchar()
    #endif
    inline long long read(){
        char ch=gh();
        long long x=0;
        bool t=0;
        while(ch<'0'||ch>'9')   t|=ch=='-',ch=gh();
        while(ch>='0'&&ch<='9') x=x*10+(ch^48),ch=gh();
        return t?-x:x;
    }
}
using IO::read;
样例下载
大样例太大了传不上来,最后一个大样例你大可自己造一组。
