随笔分类 -  kd-tree

摘要:题意 给出n个二维点(2e5) 和 q个询问(1e4) 每个询问给lr 问点l到r间有多少对点的曼哈顿距离<=d 点的坐标<=108 想出了莫队算法 复杂度n^1.5 看起来很科学 但是每次del和add点是直接进行暴力扫当前LR区间的点来算 ans将要增加/减少多少 实际这样的复杂度是V^2.5 阅读全文
posted @ 2017-05-05 20:28 天翎月 阅读(231) 评论(0) 推荐(0)
摘要:还记得青岛的时候和蕾姐讨论了近三个小时也不知道这是什么东西 后来发现是kdtree 于是拖到寒假才补这个算法 写完几道模板题发现多维的kdtree查找最近也是很简单的拓展 于是很快1A了这道题 它真的只是模板 但确实是青岛的金牌题 如果如果如果如果 那么多如果 可惜没如果... 我花了很长时间去学了 阅读全文
posted @ 2017-01-30 01:34 天翎月 阅读(885) 评论(0) 推荐(0)
摘要:一开始没思路 感觉像是一个树形dp 然而不会 然后看了一眼题解就明白了 一个点的子树 用dfs序表示肯定是一个连续的区间 并且由于有子树的距离限制 可以转化为一个深度的区间 于是每个点都会有一个在二维平面上的标号(x,y) == (编号,深度) 并且每次进行更新一个节点的子树的时候就可以得到一个x的 阅读全文
posted @ 2017-01-28 22:53 天翎月 阅读(303) 评论(0) 推荐(0)
摘要:第一次遇见强制在线的题目 每个操作都和前面的ans有关 所以不能直接离线做 在这个问题中 kdtree更像一个线段树在一维单点修改区间询问的拓展一样 如果区间被询问区间完全包含 就不用继续递归 插入时如果该点已被修改 就不用建新点 由于kdtree是一个二叉搜索树 所以如果数据构造 是可以卡出一条链 阅读全文
posted @ 2017-01-27 02:00 天翎月 阅读(224) 评论(0) 推荐(0)
摘要:模板题 题意说的可能有点不清楚 一开始的点必须在给定的n个点里面 所以枚举点 然后ask最大和最小值 估价函数中 最大值的写法和最小值不同 全部取max 而最小值在估价时 如果在某个点管辖的空间里 就视为距离=0 估价函数如果写错 可能会导致wa or t 阅读全文
posted @ 2017-01-26 15:28 天翎月 阅读(161) 评论(0) 推荐(0)
摘要:学习了一下kd-tree的基本写法 http://blog.csdn.net/jiangshibiao/article/details/34144829 配合 http://www.bilibili.com/video/av7039143/ 食用 不过这个博客的里面那道2648的代码是错的 应该加上 阅读全文
posted @ 2017-01-25 19:06 天翎月 阅读(276) 评论(0) 推荐(0)