
K-D树
poursoul
这个作者很懒,什么都没留下…
展开
-
【HDU】2966 In case of failure【KD树】
传送门:【HDU】2966 In case of failure【KD树】题意:给平面图上N(1≤N≤105)N(1\leq N \leq 10^5)个点,对每个点,找到其他 欧几里德距离 离他最近的点,输出他们之间的距离。保证没有重点。这是本弱学习KDKD树做的第一题。本题做法网上很多,我就不详细说了。KDKD树在算法竞赛中主要用来做各种各样的平面区域查询,包含则累加直接返回,相交则继续递归,相离原创 2015-11-10 12:54:20 · 1718 阅读 · 4 评论 -
【BZOJ】4154: [Ipsc2015]Generating Synergy【KD树】
传送门:【BZOJ】4154: [Ipsc2015]Generating Synergy分析:以dfs序和深度为关键字,作为平面点,于是对于每个询问就是在平面上的矩形区域修改以及查询。my code:my~~~code:#include <bits/stdc++.h>using namespace std ;typedef long long LL ;#define clr( a , x )原创 2015-11-12 14:15:59 · 1580 阅读 · 0 评论 -
【BZOJ】4130: [PA2011]Kangaroos【KD树——最长连续1的子段长度】
传送门:【BZOJ】4130: [PA2011]Kangaroos【KD树】题意:给出一个长度为N(N≤5⋅104)N(N\leq 5\cdot 10^4)的区间序列。然后接下来M(M≤2⋅105)M(M\leq 2\cdot 10^5)个询问,每个询问给出一个区间[L,R][L,R],问区间序列中最长的连续子序列长度,使得连续子序列中每个区间和询问给出的区间存在交集。分析:将询问[L,R][L,R原创 2015-11-12 19:45:31 · 1407 阅读 · 0 评论 -
【HDU】5994 Generator and Monitor【KD树】
题目链接:【HDU】5994 Generator and Monitor看懂题就会做系列,模板题。#include <bits/stdc++.h>using namespace std ;typedef long long LL ;#define clr( a , x ) memset ( a , x , sizeof a )const int MAXN = 200005 ;const int原创 2016-12-02 19:25:26 · 1328 阅读 · 0 评论 -
【BZOJ】3616: War【KD树】
传送门:【BZOJ】3616: War【KD树】分析:建好树,对于每个塔,对他能打到的点打标记,这个用KD树+bitset打标记即可。所有标记打完后把标记下传,这样可以得到每个点在每一轮会被哪些塔打到,然后我们把所有同一阵营的或(位运算)起来,这样就知道每个阵营每一轮有多少的概率是完全完好的,然后pow一下累加到ans里,最后输出ans即可。复杂度O(NN−−√+N232)O(N\sqrt N +原创 2015-11-10 14:40:24 · 1150 阅读 · 2 评论