
K-D树
Lazer2001
天涯何处无芳草
只是白兔寻不到
展开
-
BZOJ2648 SJY摆棋子 KD树
大家都很强, 可与之共勉 。题意: 最开始给您nn个点(0≤n≤500000)(0\leq n \leq 500000),有m(0≤m≤500000)m(0\leq m \leq 500000)个操作,以(t,x,y)(t,x,y)给出,如果t=1t=1,则插入这个点,如果t=2t=2,则查询离这个点最近的一个点与它之间的欧几里得距离。 KD树裸题,呃,学习笔记还是之后补上。/*******原创 2017-12-04 21:21:26 · 274 阅读 · 0 评论 -
BZOJ2626 JZPFAR KD树求第k远点 小根堆维护
大家都很强, 可与之共勉 。题意: 给您nn个点,mm次询问,每次问您距离(x,y)(x,y)第kk远的点与之的欧几里得距离是多少。题解: KDKD树,用小根堆维护前kk远的,比堆顶远就弹出堆顶然后加入该点。 KDKD树就是暴力启发式搜索 STLSTL的pairpair重载运算符无效,手动再见。/****************************************原创 2017-12-04 22:29:00 · 709 阅读 · 0 评论 -
BZOJ4520 CQOI2016 K远点对 KD树 小根堆维护距离
大家都很强, 可与之共勉。题意: 给您nn个平面上的点,问第kk远的点对的距离是多少。 其中n∈[1,100000],k∈[1,n⋅(n−1)2],横纵坐标绝对值在231−1内n\in[1,100000],k\in [1,\frac{n\cdot(n-1)}{2}],横纵坐标绝对值在2^{31}-1内题解: 因为是点对(认为无序),所以把kk乘以2,然后用小根堆维护距离,堆顶就是答案。原创 2017-12-05 08:24:45 · 417 阅读 · 0 评论