KDTree
y_immortal
蒟蒻蒟蒻
展开
-
洛谷2093 JZPFAR + KD-Tree学习笔记 (KD-Tree)
题目链接KD-Tree这玩意还真的是有趣啊…(基本完全不理解)只能谈一点自己的对KD-Tree的了解了。首先这个玩意就是个暴力…他的结构有点类似二叉搜索树每一层都是以一个维度作为划分标准。我们对于当前层,选择所有剩余点中,该维度比较中间的那个点作为基准点,比他大(这一维度)就放到左子树,不然右子树。然后维度的选取是交替选取就比如说,我们第一层是按照第一个维度,第二层是第二维度,...原创 2018-12-08 23:11:53 · 473 阅读 · 0 评论 -
洛谷3769[CH弱省胡策R2]TATT (KDTree)(四维LIS)
题目链接真是一个自闭的题目(调了一个上午+大半个下午)从WAWAWA到WA+TLEWA+TLEWA+TLE到TLETLETLE到ACACAC真的艰辛。首先,这个题,我们可以考虑直接上四维KDTree来解决。对于kdtree上的每个节点,我们维护三个值,分别表示各个维度的mnmnmn,当前节点的valvalval(这个是用来每次更新ansansans的),子树的valvalval的最大值(...原创 2018-12-10 20:40:08 · 268 阅读 · 3 评论 -
洛谷1429 平面最近点对(KDTree)
题目链接qwq(明明可以直接分治过掉的)但是还是当作联系了首先,对于这种点的题,很显然的套路,我们要维护一个子树mx[i],mn[i]mx[i],mn[i]mx[i],mn[i]分别表示每个维度的最大值和最小值(这里有一个要注意的东西!就是我们upupup的时候,要判断一下当前是否还有左/右儿子)bool operator< (KD a,KD b){ return a.d...原创 2018-12-10 20:56:08 · 391 阅读 · 0 评论 -
洛谷4475 巧克力王国(KD-Tree + 维护子树和)
题目链接(嘤嘤嘤 又是一个自闭了一晚上的题)qwq果然不是平面上的点的问题,也可以直接用KDTree打暴力我们对于巧克力直接建kdtree维护一个mx[i],mn[i]mx[i],mn[i]mx[i],mn[i]但是有一个非常不友好的事情我们貌似很难对这个东西进行一些实质上的剪枝因为他求的是一个和的形式,而不是一个最值QWQ那么该怎么办呢?我们这时候考虑,对于一个kdtree上的...原创 2018-12-10 23:49:05 · 236 阅读 · 0 评论 -
洛谷4631 [APIO2018] Circle selection 选圆圈 (KD树)
qwq纪念AC450一开始想这个题想复杂了。首先,正解的做法是比较麻烦的。qwqq那么就不如来一点暴力的东西,看到平面上点的距离的题,不难想到KD−TreeKD-TreeKD−Tree我们用类似平面最近点对那个题一样的维护方式,对于一个子树内部,分别维护每一个维度的最大值和最小值,还有半径的最大值。然后sortsortsort一遍,从半径大到小依次queryqueryquery,每次q...原创 2019-01-16 21:13:12 · 348 阅读 · 0 评论