![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
KDTree
Cyhlnj
这个作者很懒,什么都没留下…
展开
-
KDTree(Bzoj2648: SJY摆棋子)
题面传送门KDTree大概就是一个分割kkk维空间的数据结构,二叉树建立:每层选取一维为关键字,把中间的点拿出来,递归左右,有个STLSTLSTL函数nth_element可以用一下维护:维护当前这个点的子树的每一维的最大值和最小值,相当于维护了个高维矩形查询:直接遍历一棵树是O(n)O(n)O(n)的,利用一些独特的性质可以剪枝,因题而异奇技淫巧:把坐标绕原点转...原创 2018-05-30 21:50:43 · 226 阅读 · 0 评论 -
Bzoj4520: [Cqoi2016]K远点对
题面BzojSol维护一个小根堆,初始里面放2∗k2∗k2*k个元素(因为点对可能算两遍) 每个点KDTreeKDTreeKDTree暴力查询是否有与这个点距离大于堆顶的,替换堆顶就好了# include <bits/stdc++.h># define IL inline# define RG register# define Fill(a, b) memset...原创 2018-05-30 21:55:31 · 177 阅读 · 0 评论 -
[APIO2018] Circle selection 选圆圈(假题解)
题面自己去LOJLOJLOJ上找Sol直接排序然后KDTreeKDTreeKDTree查询 然后发现TLETLETLE了然后把点旋转一下,就过了。。# include <bits/stdc++.h># define IL inline# define RG register# define Fill(a, b) memset(a, b, sizeof(a))...原创 2018-05-30 21:58:55 · 687 阅读 · 0 评论