
k-d树
C202044zxy
这个作者很懒,什么都没留下…
展开
-
[CH弱省胡策R2]TATT
一、题目点此看题二、解法先排序,把aaa当作第一关键字,bbb当第二关键字,ccc当第三关键字,ddd当第四关键字排序,然后设f[i]f[i]f[i]前iii个组成的最大经过点数量(必须包含iii),转移要找到最大f[j]f[j]f[j],使得aj≤ai,bj≤bi.....a_j\leq a_i,b_j\leq b_i.....aj≤ai,bj≤bi.....,第一维通过排序解决了...原创 2020-03-18 16:28:25 · 206 阅读 · 0 评论 -
CF44G Shooting Gallery
一、题目点此看题翻译:有nnn个靶子,第iii个靶子在距离射击点zzz的地方,给出靶子的定位,有mmm个射击,按顺序进行,每个射击如果击中靶子会将其击倒,问每个射击会击中哪个靶子,输出靶子的编号(输入顺序)数据范围n,m≤100000n,m\leq 100000n,m≤100000,x,y,z≤107x,y,z\leq10^7x,y,z≤107二、解法我们把射击建k-d\text{k...原创 2020-03-18 10:00:54 · 227 阅读 · 0 评论 -
CF1010E Store
一、题目点此看题二、解法先考虑判断不正确,我们找出给定的坐标的最大和最大的x,y,zx,y,zx,y,z,然后判断一定不出现的点,如果一定不出现这点在这个区域内(也就是x,y,zx,y,zx,y,z都在最大和最小的范围内),那么就输入不合法。对于询问,我们先判断是否一定合法,然后假设它合法,那么最大和最小x,y,zx,y,zx,y,z都需要更新,更新后我们看包不包含一定不在的点,如果包含那...原创 2020-03-18 08:12:56 · 260 阅读 · 0 评论 -
Generating Synergy
一、题目二、解法考虑k-d\text{k-d}k-d树,把每一个点以第一维dfndfndfn序,第二维depdepdep深度插入到二维空间中,修改的话就对第一维在[dfin,dfou][dfin,dfou][dfin,dfou],第二维在[dep,dep+l][dep,dep+l][dep,dep+l]中的点打标记,类似于平衡树的修改。查询要注意一下,虽然只查询一个点,但是由于第二维会有相...原创 2020-03-17 15:14:37 · 260 阅读 · 0 评论 -
[BZOJ 3489]A simple rmq problem
一、题目点此看题二、解法在区间[l,r][l,r][l,r]中出现一次的充要条件是 pre<lpre<lpre<l 并且 suf>rsuf>rsuf>r ,考虑k-d\text{k-d}k-d树,我们把每一个数插入到三维空间中[i,pre,suf][i,pre,suf][i,pre,suf],然后询问就查询第一维在[l,r][l,r][l,r],第二维在[...原创 2020-03-17 11:11:39 · 158 阅读 · 0 评论 -
SJY摆棋子
一、题目点此看题二、解法也是板子题,不过要多写一个插入和替罪羊的拍扁重建,实现看代码好了。#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int M = 1000005;const int inf = 1e9;const dou...原创 2020-03-16 15:52:34 · 233 阅读 · 0 评论 -
[BZOJ 3053]The Closest M Points
一、题目二、解法做了这道题才真正掌握了k-d\text{k-d}k-d树板子,相比于二维,多维写法有修改。首先是建树,需要采用循环维度构建的方式(特别好写)然后是询问,先拿到树上点的维度(是那一维的中位数),然后看询问的点在这一维离左边还是右边更近,就去那边继续查询,维护一个优先队列,看另一边需不需要查询(在这一维询问点距离树上点的距离必须比优先队列最大距离小)口胡可能难以理解,请看代...原创 2020-03-16 11:15:56 · 191 阅读 · 0 评论 -
[CQOI2016]K远点对
一、题目点此看题二、解法k-d\text{k-d}k-d 树板题,本文会着重讲解一下 k-d\text{k-d}k-d 树的基本思路。首先讲建树,我们以某一维的中位数(居中的那个点)为基准划线,把图形分割成两部分,然后继续递归划分,这样形成的结构一定是一个二叉搜索树(替罪羊),如图:先说中位数的求法,可以用头文件algorithm\text{algorithm}algorithm里的n...原创 2020-03-15 15:44:30 · 206 阅读 · 0 评论