摸×3
呃呃呃摆烂一上午,下午继续来听shr的专题
?
三维数点?
?
?
把一个立方体拆成8个(八分之一空间)
常数较大→注意常数
去看了会儿并查集,结果感觉漏掉了挺重要的事情……?优化常数的?
对于\((a_i,b_i,c_i)\sim(A_{i},B_{i},C_{i})\)的立方体查询,搞成八分之一空间答案就是
超好理解的
做法有CDQ分治,树套树,KDT
k维数点可以KDT或CDQ套CDQ套CDQ……
CDQ分治
解决多为限制问题 \(O(log\ n)\)解决一维
要求一维中求得答案满足结合律
偏序问题
在值域上不断 分治。对于一维,先噶出一个\(mid\),每次只处理\(x_{i}<mid\)的修改操作对于\(x_{i}\geqslant mid\)的查询的贡献
小剪枝:对于一个区间,没有任何操作就return掉
然后就固定了一维,就变成了二维数点
amazing
三维数点模板
好困好困,难以思考。
求出\(f(i)\)之后桶一下就行了
问题是怎么求\(f(i)\)
先按照第一位升序排序一下,然后每次分治固定一维
根据 \(mid\) 搞成两半,左右的第一维限制一定是满足要求的,所以数满足剩下两维限制的就行了,也就是二位数点一下就行了。
amazing 然后咋做
噢噢噢我悟了
然后把右半边的归为“查询”,左半边的归为“修改”,然后就完了
喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔
但怎么维护这些点呢……不用维护,直接做做完了
好神奇喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔喔
例题1.1
很简,按照时间分治就行了。
例题1.2
反过来变为加点就行了
不对,感觉没这么简单
算了
呃呃呃呃呃我不应该摸鱼的……算了再摸会儿
例题1.3
正在津津有味地看着题目背景,结果猝不及防地看到了他的名字缩写
行,不做这题了
算了,看一眼
这不就是HH的项链再加一维限制吗?
不想思考了,想继续写小作文
突然感觉不太妙,现在我的密码已经可以被万恶的fjj破解了
算了,也没什么可藏的了
仍然需要维护一个\(pre\)
CDQ可以用来解决三维数点,也可以解决DP
比如说
例题2.1
哎,不想思考了,还是去打个板子吧
Ehhhh Ah
所以最后还是没有打
哎 我好菜——