
kd-tree
文章平均质量分 89
可以维护k维空间的点集的东东
ez_lcw
这个作者很懒,什么都没留下…
展开
-
UVA11297 Census(kd-tree)
题意:给定一个 n×nn\times nn×n 的网格,要求支持修改和询问某个矩阵的最大值和最小值。 解法多样,可以用二维线段树,我用的是 kd−treekd-treekd−tree。 那么这题就很裸了,我在这里只提几点需要注意的地方。 首先就是建树以及修改时的比较一定要判断当前维度相等的情况,这时就要比较下一维度。 不然你修改时可能永远找不到你要找的那个点,导致 TLETLETLE。 其次是 u...原创 2020-01-17 11:50:28 · 147 阅读 · 0 评论 -
【BZOJ3489】A simple rmq problem(kd-tree)
先考虑怎么样才能保证某个数只出现了一次。 对于序列中的某个数 a[i]a[i]a[i],我们求出上一个出现 a[i]a[i]a[i] 的位置为 pre[i]pre[i]pre[i],下一个出现 a[i]a[i]a[i] 的位置为 nxt[i]nxt[i]nxt[i]。 那么当询问的 lll、rrr 满足 pre[i]<l⩽ipre[i]<l\leqslant ipre[i]<l⩽...原创 2020-01-15 17:03:21 · 227 阅读 · 0 评论 -
【BZOJ2850】【XSY2177】巧克力王国(kd-tree)
我们可以把一块巧克力看做平面上的点(x,y)(x,y)(x,y) 那么显然,对于一次询问(a,b)(a,b)(a,b),我们可以用xmaxx_{max}xmax或xminx_{min}xmin,以及ymaxy_{max}ymax或yminy_{min}ymin来求出ax+byax+byax+by的最大值(这显然是一个单调函数)。 所以我们考虑用kd−treekd-treekd−tree来维...原创 2019-12-27 22:02:27 · 147 阅读 · 0 评论 -
【XSY2630】【BZOJ4066】简单题(kd-tree)
看到题面,第一眼想到的是用cdq或树状数组维护这东东。 但是强制在线限制了我们的想象 然后想到用树套树,毕竟时间和空间好像是O(nlog2n)O(n\log^2n)O(nlog2n)的。 但是20M的空间限制了我们的想象 那么我们就会用到kd−treekd-treekd−tree来维护。 1.kd−treekd-treekd−tree是什么 kd−treekd-treekd−tree其实是一颗平...原创 2019-12-21 09:24:49 · 405 阅读 · 0 评论