上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页
摘要: 闭合图 我们给出闭合图的定义:对于有向图中的点,其相邻的节点全部属于这个有向图,那么这个图就被称为闭合图。 也就是说这个图的终点一定是出度为0的。 最大权闭合子图 就是对于一个有向图,每个点有一个权值,权值属于实数,现在考虑选择一个闭合子图使得这个子图中的点的权值和最大。 我们尚且思考一下,不难发现 阅读全文
posted @ 2022-02-24 11:25 cbdsopa 阅读(64) 评论(0) 推荐(0)
摘要: 平面图 就是放在平面上展开,存在一种画法能够使得图的边与边之间没有交点,这玩意就叫平面图。 一般来说网格图喜欢考这个,提到网格图可以留个心眼。 但是一般来说吧,这个东西要配和着对偶图来使用。 对偶图 就是对于原平面图的每一条边,将与其接壤的两个面在对偶图中连一条边。特殊地,当且仅当对于一条边两边的面 阅读全文
posted @ 2022-02-24 11:22 cbdsopa 阅读(406) 评论(0) 推荐(0)
摘要: 冬令营突然发现的一个比较厉害的东西。 Dancing Links 用于解决覆盖性问题的利器。 两个不同分支,一个精准覆盖问题,一个可重复覆盖问题。 先讲相对基础的精准覆盖问题。 精确覆盖问题 就是说全集由多个集合恰好覆盖,各个集合间无交。 这个问题我们先考虑一个具体一些的问题。 我们用下面的那个 模 阅读全文
posted @ 2022-02-24 11:20 cbdsopa 阅读(53) 评论(0) 推荐(0)
摘要: 本质上大概是搜索优化。我们将bfs使用的队列改为优先队列,并使用结构体存储节点,重载 '<' 小于号。 然后我们提高搜索效率的方法就是通过一个估价函数,评估当前情况与答案情况的差异,然后选取差异最小(或根据题目,并基于个人经验选取能够更快找到答案的情况) 由于优先队列存在复杂度,有时候估价函数写得不 阅读全文
posted @ 2022-02-24 11:18 cbdsopa 阅读(495) 评论(0) 推荐(0)
摘要: 注:\(A*\) 求解K短路效率极其低下,时间复杂度$O(nklog\ n)$,空间视题目而定,因为本质是爆搜,可求解数据范围较小的题目。 我们使用$A*$求解k短路: 首先需要预处理出估价函数。对于原图建立反向图,然后跑终点的单源最短路。用终点到这个点的距离作为$A*$的估价函数,可以完全保证搜索 阅读全文
posted @ 2022-02-24 11:17 cbdsopa 阅读(129) 评论(0) 推荐(0)
摘要: 考模拟赛考到了线段树合并,于是学了树上启发式合并(?) 它相较于线段树合并的优点在于: 空间开销小 无线段树的常数 写法简单易理解 好那么开始进入正题。 首先说一下它的用途,可以用来解决一些子树问题。 具体的做法是先 dfs 预处理,然后像树剖那样剖出重儿子,可以剖出 dfs 序为之后加上一点常数优 阅读全文
posted @ 2022-02-24 11:15 cbdsopa 阅读(60) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; #define re register #define MAXN 5010 struct side { int u,v,w; }s[200010]; int fa[MAXN],n,m,ans,cnt,cnt1; 阅读全文
posted @ 2022-02-24 11:14 cbdsopa 阅读(28) 评论(0) 推荐(0)
摘要: 在某些情况下可以和树剖替换。(当然某些情况替代不了,我愿称之为小树剖) 前置知识 倍增求LCA 了解差分思想 (既然要替代树剖怎么可能会用树剖求LCA呢/xyx) 引入 首先我们都知道差分是可以用来通过单点修改维护区间信息的(如单修区查的树状数组),因为我们在前面加上,再在后面减掉,中间这一段是得到 阅读全文
posted @ 2022-02-24 11:13 cbdsopa 阅读(43) 评论(0) 推荐(0)
摘要: 相当于把树上的链抽出来变成区间进行操作。 重链剖分(本文重点): 本文依照P3384 【模板】轻重链剖分/树链剖分的实现进行讲解。 就是剖分出重链覆盖全树。 重链:除开头的端点为轻儿子外,其他节点全为重儿子的链。 重儿子:一个节点的儿子中子树大小最大的儿子。 要进行树链剖分,先要进行预处理。需要处理 阅读全文
posted @ 2022-02-24 11:12 cbdsopa 阅读(46) 评论(0) 推荐(0)
摘要: 用于解决树上路径长问题的算法,复杂度是比较优秀的 \(O(nlogn)\) 直接按照题目来讲。点分治1 我们要维护树上路径长度为 \(k\) 的路径是否存在(当然视题目而定,点分治的操作比较灵活)。这类问题我们选用点分治。 具体怎么操作呢? 一般就是,每次用vis标记删除根节点,然后对于所有没被删除 阅读全文
posted @ 2022-02-24 11:11 cbdsopa 阅读(39) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页