会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Hevix
他强任他强,清风拂山岗,他横由他横,明月照大江。
博客园
首页
新随笔
联系
管理
上一页
1
2
3
4
5
下一页
2019年2月25日
K-D tree 解决K远点对问题
摘要: • 通过 K-D tree 和一个优先队列,可以查询距离一个钦定点第 K 远的点。 • 具体操作看起来似乎比较暴力。 1. 首先将 K 个 “ 空 ” 的值存入队列。 2. 暴力 dfs K-D tree 更新队列。 • 所有点对中的第 K 远点对显然只需要将队列全局化。 P2093 [国家集训队]
阅读全文
posted @ 2019-02-25 22:19 Hevix
阅读(306)
评论(0)
推荐(0)
2019年2月24日
P4135 作诗
摘要: 题目 • 很容易想到分块。 • 类似于区间众数的操作。 • 首先预处理出两个数组: 1. f 二维数组表示两个块为左右边界的序列的答案。 2. s 二维数组处理出从第一个块到某一个块之间每 个数出现的次数。 • 对于询问其实和预处理 f 数组的做法差不多。 1 #include<bits/stdc+
阅读全文
posted @ 2019-02-24 21:39 Hevix
阅读(182)
评论(0)
推荐(0)
线段树维护二维平面中的线段
摘要: 要求在平面直角坐标系下维护两个操作: 1.在平面上加入一条线段。记第 i 条被插入的线段的标号为 i 2.给定一个数 k,询问与直线 x = k 相交的线段中,交点最靠上的线段的编号。 • 沿用线段树的一般套路,保存的线段信息为线段的表达式。 • 更新线段的过程: 1.在线段树中找到该线段对应的区间
阅读全文
posted @ 2019-02-24 12:07 Hevix
阅读(343)
评论(0)
推荐(0)
启发式合并
摘要: 启发式合并是对集合合并类问题的一种高效处理方式。 • 通常启发式合并优化的是合并多个相同数据结构的时间,通过暴力的合并来 将两个相同的数据结构合并,从而使得维护的零散信息(性质)逐渐合一。 • 举个十分简单的例子:起初有 n 个数组,且每个数组有且仅有 1 个数,接下 来有 n-1 个指令,需要你每
阅读全文
posted @ 2019-02-24 11:29 Hevix
阅读(148)
评论(0)
推荐(0)
区间(树上)第k小(大)问题
摘要: P3834 【模板】可持久化线段树 1(主席树) 静态区间第k小。 主席树模板题 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,m,x,y,k; 4 struct node 5 { 6 int l,r,sum; 7 }num[340
阅读全文
posted @ 2019-02-24 10:54 Hevix
阅读(863)
评论(1)
推荐(0)
2019年2月20日
P3242 [HNOI2015]接水果
摘要: 题面 将树上的路径包含问题通过dfs序转换为双关键字区间包含问题, 进而转换为区间覆盖类问题。 由此,我们可以通过二分得出每一个询问的答案。 由于有多次询问,故只需要整体二分即可。 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,p,
阅读全文
posted @ 2019-02-20 19:27 Hevix
阅读(148)
评论(0)
推荐(0)
P2664 树上游戏
摘要: 题面 作为一道经典的点分治题目,此题能很好的考察对点分治的运用。 个人认为点分治的本质在于:对于树上近乎n2 的路径询问,通过有效的 划分,使之能在稳定的时间内通过 存储信息——获取信息 的经典方式来求 出答案。 由此看出点分治的关键在于存储信息与获取信息的方式。 点分治的模板套上之后我们只需要考虑
阅读全文
posted @ 2019-02-20 13:19 Hevix
阅读(202)
评论(0)
推荐(0)
2019年2月15日
占领
摘要: 题目描述 白云和白兔想占领一棵树。白云列举了游戏玩法:∙ 首先,白云任意选择一个结点𝑘,把这个结点占领,其它结点都未本占领。 每一轮,白云可以选择若干个已经被占领的点,然后分别从每个点出发,找一条出边,把到达的结点占领。∙ 当所有结点都被占领时游戏结束。 白兔想知道,选择一个最优的𝑘,白云最少几
阅读全文
posted @ 2019-02-15 17:06 Hevix
阅读(346)
评论(0)
推荐(0)
P4065 [JXOI2017]颜色
摘要: 题面 • get到一种 hash 乱搞。 • 考虑题目要求如何在 hash 值中得以体现。 • 为每个数赋上一个 hash 值,使得同一类数的 hash 值为零。 • 那么满足要求的序列的 hash 值之和一定为零。 1 #include<bits/stdc++.h> 2 #define ll un
阅读全文
posted @ 2019-02-15 16:30 Hevix
阅读(211)
评论(0)
推荐(0)
2019年2月14日
P2839 [国家集训队]middle
摘要: 题面 • 提一下静态区间第k小的nlog2n的做法: 1. 建关于排名的主席树(按排名顺序建树)。 2. 二分答案。 • 这样做静态区间第k小的虽然有些ZZ,但它的意义在于将线段树 维护的对象改变了。 1 #include<bits/stdc++.h> 2 using namespace std;
阅读全文
posted @ 2019-02-14 18:17 Hevix
阅读(173)
评论(0)
推荐(0)
上一页
1
2
3
4
5
下一页