随笔分类 - 图论
摘要:原题链接 分析 分析题目的限制 相连两个点不能同时选 要选最少的点将所有的边进行覆盖 提炼一下,我们能得到什么。 二分图,通过这两个条件,这个图一定是个二分图,不然一定无解。 我们选的点一定都是二分图中其中点数少的那一半。因为我们选择点互相之间不能有边。 因此,我们的思路就出来了,染色法判二分图,注
阅读全文
摘要:原题链接 分析 算是一个板子题,Floyd的有一个扩展应用 我们来简单的说明一下算法原理。 考虑一个图中的最小环 / u-v-k-u / 如果我们随意去掉其中一条边 / u-v / 那么剩下的 / v-k-u / 一定是图中 ( u , v ) 间的最短路径 那么这怎么和Floyd算法联系呢? 我们
阅读全文
摘要:原题链接 洛谷2419 分析 这题,一眼看过去,给了很多的不等关系,像是差分约束,但是保证不会矛盾,那就可以确认是个有向无环图了。 因此,我们考虑用拓扑排序。 但是此时,问题再次出现,如果这题像P1960 郁闷的记者的话,那求完之后,求一个最长路,确认一下其中最大的值是否等于n即可。 但这题需要确定
阅读全文
摘要:方法 (1)向上标记法O(n) 这个方法很暴力,没什么说的,如果有m次查询,那时间复杂度就会是O(nm) (2)倍增 步骤: 1.初始化:通过dfs初始化两个数组depth[],fa[i,j]; depth[i]:表示深度 fa[i,j]:表示从i开始,向上走$2j$步所能走到的节点编号(\(0 \
阅读全文
摘要:差分约束图解 差分约束主要解决问题 1.求不等式的可行解 原点需要满足的条件:从 源点 出发,一定可以走到所有的边。 步骤: 1.现将每个不等式 \(x_i \leq x_j+c_k\) ,转化为一条从$x_j$走到$x_i$,长度为$c_k$的一条边 2.找一个 超级源点 ,使得该源点一定可以 遍
阅读全文
摘要:原题链接 分析 知识点 拆点图 思路分析 从原题中,我们要求的是从最上角走到最下角的最小步数。 但是此时加了一些限制,想通过门,需要相应的钥匙才能通过 那么相同下标的点,可能就因为此时是否有对应钥匙而变得不同。 这就提示我们,可以用拆点的方法,来把相同的下标的点,根据不同的状态分开,就是拆点。 此时
阅读全文
摘要:原题链接:装满的油箱 分析 算法 dijkstra+拆点图 时间复杂度 O(MlogNC) 思路 在刚写这题的时候,完全没有任何思路。因为通过分析题目,我们可以知道,其实是类似于求一个最短路。但是又跟典型的最短路不相同。因为需要算的其实是。 从起点走到终点的花费的最小值。但这个花费,让我有点迷茫了,
阅读全文

浙公网安备 33010602011771号