
k-d树
文章平均质量分 60
TA201314
这个作者很懒,什么都没留下…
展开
-
[bzoj3489] A simple rmq problem 解题报告
说几种比较傻逼的做法: 考虑一个点i,设它前面第一个和它相等的点的位置是lastilast_i(若没有就是0),设它后面第一个和它相等的点的位置是nextinext_i(如果没有就是n+1),则它会产生贡献的区间[l,r]要求lasti+1≤l≤i,i≤r≤nexti−1last_i+1\le l \le i,i\le r \le next_i-1。所以如果把询问的区间看作平面上的点,这就相当于是原创 2016-04-26 07:11:39 · 1449 阅读 · 0 评论 -
[bzoj4066]简单题 解题报告
也是很久以前奇葩做法搞的题,补个解题报告。大爷的做法:听说是把k-d树写成替罪的或是每n√\sqrt n重建。 傻逼的做法: 我们是理论计算机科学家(当时我弱不会k-d树。。),所以我们需要思考科学的做法。 分块! 考虑将横坐标分成n√\sqrt n份,纵坐标分成n√\sqrt n份,这样会有n个块。内存首先比较科学了。我们显然需要每插入n√\sqrt n个元素重建。我们对每一行维护前缀和,原创 2016-04-22 17:45:36 · 1653 阅读 · 0 评论 -
[Ahoi2008]Rectangle 解题报告
又是喜闻乐见的只会傻逼做法的题。。跟我跑得差不多快的人都写了1K,我写了快4K。。 并不知道他们怎么搞的,说下我的做法: 考虑按x从大到小的扫描线,每次在矩形的左下角(x1,y1)(x_1,y_1)插入一个数y2y_2,判断一个矩形(x1,y1)−(x2,y2)(x_1,y_1)-(x_2,y_2)是否被包含就相当于询问矩形(0,0)−(x1,y1)(0,0)-(x_1,y_1)的最大值是否大于原创 2016-04-21 21:54:48 · 677 阅读 · 0 评论 -
[Ahoi2013]作业 解题报告
很久以前用奇葩做法搞的题。。现在补个解题报告。传统做法: 考虑莫队,就需要我们设计一个O(1)O(1)插入,O(n√)O(\sqrt n)查询的数据结构,显然就需要对权值分块,记每个数出现次数和每个块两问的答案(或者第一问另写个主席树也可以,我比较懒)。莫队的块就分成nm√n\over \sqrt m块。时间复杂度O(mn√+nm−−√)O(m\sqrt n+n\sqrt m)。非常好写,跑的飞快原创 2016-04-22 17:00:09 · 1188 阅读 · 0 评论