KD树
Master.Yi
学习他人,提升自己;
提升自己,帮助他人。
展开
-
20200525 hz T1【单点修改求历史最小区间和】
T1n≤100000,Ai≤109n\le100000,A_i\le10^9n≤100000,Ai≤109题目分析:做过uoj#164之后我们会做区间修改单点查询历史最值。就是维护当前标记和历史最值标记,下传的时候儿子的历史最值标记用儿子的当前标记与下传的历史最值标记合并来更新,然后更新儿子的当前标记。单点查询就是它父亲链上的标记全部下传后它的标记值。由于两个区间的历史最值标记无法合并,所以区间问题一般没法整。回到这个题,我们把询问离线后看做一个点(l,r)(l,r)(l,r),修改ApA_原创 2020-05-25 17:14:19 · 304 阅读 · 0 评论 -
BZOJ4154: [Ipsc2015]Generating Synergy【KD树(懒标记)】
题目描述:给定一棵以1为根的有根树,初始所有节点颜色为1,每次将距离节点a不超过l的a的子节点染成c,或询问点a的颜色。T<=6,n,m,c<=10^5,1<=a<=n,0<=l<=n,0<=c<=c题目分析:n+e的题解:Code:#include<bits/stdc++.h>#define maxn 100005us...原创 2020-01-16 20:56:57 · 162 阅读 · 0 评论 -
BZOJ4066: 简单题【KD树】
题目描述:N*N的棋盘,初始时每个格子里的数为0,维护两种操作:命令参数限制内容1 x y A1<=x,y<=N,A是正整数将格子x,y里的数字加上A2 x1 y1 x2 y21<=x1<=x2<=N, 1<=y1<=y2<=N输出x1 y1 x2 y2这个矩形内的数字和3无终止程序强制在线,异...原创 2020-01-16 11:37:53 · 172 阅读 · 0 评论 -
BZOJ2648: SJY摆棋子【KD树(重构)】
题目描述:带插入查询曼哈顿最近点,n,m<=500000题目分析:本来应该是需要插入后检查重构的。。但是这题直接依次插入比重构还要快就让人很难受。。Code:#include<bits/stdc++.h>#define maxn 1000005using namespace std;char cb[1<<18],*cs,*ct;#define get...原创 2020-01-16 11:01:28 · 204 阅读 · 0 评论 -
HDU The Closest M Points【KD树求k近点】
题目描述:RT。题目分析:点(x[0],x[1]…x[D])到矩形的最近距离的估价函数为:int ret=0,tmp;for(int j=0;j<D;j++) tmp=max(x[j]-t[i].mx[j],0)+max(t[i].mn[j]-x[j],0),ret+=tmp*tmp;Code:#include<bits/stdc++.h>#define max...原创 2020-01-16 10:09:26 · 136 阅读 · 0 评论 -
洛谷 P4357 [CQOI2016]K远点对【KD树】
题目描述:nnn个点,求欧氏距离下的第kkk远点对的距离的平方。n<=100000,k<=min(100,n(n−1)/2)n<=100000,k<=\min(100,n(n-1)/2)n<=100000,k<=min(100,n(n−1)/2)题目分析:一个堆维护前2k大(每个点对算了两次)每个点在KD树中查询,取全局第2k大。跟 求k远点 差不...原创 2020-01-16 08:29:59 · 243 阅读 · 0 评论 -
洛谷P2093 [国家集训队]JZPFAR【KD树+堆 求k远点】
题目描述:平面上有n个点。现在有m次询问,每次给定一个点(px, py)和一个整数k,输出n个点中离(px, py)的距离第k大的点的标号。如果有两个(或多个)点距离(px, py)相同,那么认为标号较小的点距离较大。100%的数据中,n<=10^5, m<=10^4, 1<=k<=20,所有点(包括询问的点)的坐标满足绝对值<=10^9,n个点中任意两点坐标不同...原创 2020-01-15 18:49:53 · 535 阅读 · 0 评论 -
NOI模拟赛20200102 T3 卡空间二维数点 + 被矩形覆盖次数【KD树 + 主席树】
题目描述:n,m,q≤105n,m,q\le10^5n,m,q≤105 时间限制3s,空间限制256M题目分析:(罪恶王冠加深了题目的自闭氛围。。。 )操作3好说,就一个主席树预处理,把矩形拆成两条竖直的线差分,单点查询。(也可以拆成四个点差分)。只是注意离散化的时候要将矩形的x0-1也要加入离散化数组中(lower_bound时要用到),还有主席树的区间修改的空间复杂度一次可以达到4×...原创 2020-01-03 23:03:49 · 140 阅读 · 0 评论 -
BZOJ 3489: A simple rmq problem【KD树】
题目传送门题目分析:记下每个数的 前一次出现位置preprepre 和 后一次出现位置nxtnxtnxt于是每个点就变成一个三维的点(posi,prei,nxti)(pos_i,pre_i,nxt_i)(posi,prei,nxti)那么查询[l,r][l,r][l,r]只出现一次数的最大值就相当于查询pos∈[l,r],pre∈[0,l−1],nxt∈[r+1,n+1]pos\i...原创 2019-03-11 10:38:42 · 201 阅读 · 0 评论