随笔分类 - k-d树
摘要:更新:此题我的代码设置eps=1e-8会WA,现在改为1e-9貌似T了 此题网上的大部分做法是cdq分治+凸包,然而我觉得太烦了,于是自己口胡了一个k-d树做法: 加入一个圆(x,y),直接在k-d树上加入这个点即可,注意要打rebuild否则会T。 查询一个点(x0,y0)是否在所有的
阅读全文
摘要:题目大意:有m个操作,分两种:在指定三维坐标内加入一个点,询问指定空间内点的数量。 其中m≤5∗104,1≤x,y,z≤109 这题几乎就是裸的k−d树啊。我们动态维护一棵k−d树,对于以某个节点为根的字树中,维护该子树中点的三维范围,以及该子树中点的数量。然后直接查询即可。
阅读全文
摘要:由于某些原因,我先打了一个错误的树套树,后来打起了k−d。接着因不明原因在思路上被卡了很久,在今天中午蹲坑时恍然大悟...... 对于一个数字ai,我们可以用一组三维坐标(i,pre,nxt)来表示,其中i表示该数字下标,pre表示在区间[1,i)中满足$a[j]=a[i]
阅读全文