随笔分类 -  算法

摘要:对于要求我们统计树上符合条件的路径信息的问题,我们一般可以采用两种方法来实现,一种是树上DP,一种就是点分治。点分治更加的简洁暴力,而树上DP往往会带来相当复杂的状态转移方程,甚至我们无法推出状态转移方程。 点分治的核心思想就是枚举每一个顶点并统计经过该顶点的所有路径信息,而这一过程是通过重构树来实 阅读全文
posted @ 2018-04-02 22:27 cccwiseee 阅读(251) 评论(0) 推荐(0)
摘要:经常遇到一类问题,提供一个图,判断其中是否含环。所谓的环是一条起点与终点相同的路径(至少含有一条边,两个结点)。由于不带环的连通图和带环的连通图有着本质的区别,不带环的连通图是树,而树相较于一般的图可以支持更多更高效的算法,比如log2(n)时间复杂度内找任意两点的路径信息,在树上进行树形DP等等。 阅读全文
posted @ 2018-02-01 21:52 cccwiseee 阅读(2152) 评论(0) 推荐(0)
摘要:莫队算法是由之前的国家队队长莫涛发明,故称为莫队算法。其用于处于静态区间查询。 区间莫队 对于区间查询,我们一般会使用主席树或树套树之类吊炸天的数据结构来进行处理。这是基于我们可以对区间进行二分,并通过分治的方式保证拥有对数级别的性能。当然前提是查询的内容要适合进行分治处理,对于形如最大值最小值,分 阅读全文
posted @ 2018-01-17 22:31 cccwiseee 阅读(702) 评论(0) 推荐(0)
摘要:A*算法是一类贪心算法,其可以用于寻找最优路径。我们可以利用A*算法来求第k短路径。 一条路径可以由两部分组成,第一部分是一个从出发到达任意点的任意路径,而第二部分是从第一部分的末端出发,到终点的最短路径。两部分正好可以组成一条路径,且每一条路径都可以分解这两部分(允许任意一部分为空)。因此当我们已 阅读全文
posted @ 2018-01-17 21:53 cccwiseee 阅读(2630) 评论(0) 推荐(1)
摘要:对于一个无向带边权连通图G(V,E),我们一定能从中提取出最小生成树,那么对于次小生成树该如何获取?记图G中有效生成树集合为Z,而T为G的中的总权重最小的生成树,那么G\{T}中总权重最小的树就是次小生成树。 我们不妨先考虑这样一个问题,记T为图G中的最小生成树,由于生成树由|V|-1条边唯一决定, 阅读全文
posted @ 2018-01-12 20:45 cccwiseee 阅读(426) 评论(0) 推荐(0)