Light
【问题描述】
“若是万一琪露诺(俗称 rhl)进行攻击,什么都好,冷静地回答她的问题来吸引
对方表现出兴趣的话,那就慢慢地反问。在她考虑答案的时候,趁机逃吧。就算是很简
问题,她一定也答不上来。” ——《上古之魔书》
天空中出现了许多的北极光,这些北极光组成了一个长度为n的正整数数列 a[i],远
魔书上记载到:2 个位置的 graze 值为两者位置差与数值差的和:
graze(x,y)=|x-y|+|a[x]-a[y]|。
要想破解天罚,就必须支持 2种操作(k 都是正整数):
Modify x k:将第 x个数的值修改为k。
Query x k:询问有几个 i满足graze(x,i)<=k。
由于从前的天罚被圣王lmc破解了,所以rhl改进了她的法术,询问不仅要考虑当
列,还要考虑任意历史版本,即统计任意位置上出现过的任意数值与当前的a[x]的 graz
<=k的对数。(某位置多次修改为同样的数值,按多次统计)
【输入格式】
第1行两个整数 n,q。分别表示数列长度和操作数。
第2行 n个正整数,代表初始数列。
第3~q+2 行每行一个操作。
【输出格式】
对于每次询问操作,输出一个非负整数表示答案。
【样例输入】
3 5
2 4 3
Query 2 2
Modify 1 3
Query 2 2
Modify 1 2
Query 1 1
【样例输出】
2
3
3
【数据规模与约定】
n≤40000,m≤60000,ai≤100000
题解:
出题人的题解真是简单(虽然题目也很简单)
“直接线段树套平衡树就可以了”
傻逼k-d树调了快俩小时,这搞腿子。
因为询问是与给定点的曼哈顿距离小于给定值的点个数,这个可以把坐标转换一下,像这样: