- 博客(3)
- 收藏
- 关注
原创 网络流-最大流 DINIC算法及例题luogu P3376
DINIC是建立在增广路算法上的一种优化算法。它的优点有两个:多路增广 :在找到一条增广路后,继续利用它剩余的流量找增广路,以达到在一次DFS中找到多条增广路,提高算法效率。当前弧优化 :标记当前路是否被访问过,若被访问过则跳过,这样可以省去原本EK算法中将多余处理的数据。DINIC算法可分为两部分,一部分是BFS广搜寻找分层图(判断是否还有到达终点的路径即增广路存在的最基本条件),另一部分是DFS深搜查找增广路的值。BFS部分代码bool bfs() { queue<int&
2020-06-03 15:26:14
837
原创 关于求最短路径算法Dijkstra+堆优化的一些粗略讲解(模板)
用途Dijkstra算法适用于求无负权边的图中点到点的最短路径问题,不可用于有负权边的图中。算法的基本思想选定一个初始点,在后续求得的距离也都是到这点的距离。用 dis[] 数组来表示初始点到当前点的最短距离遍历当前点连通的所有点,如果当前点满足条件,则更新当前点的 dis[] ,这一步称为 松弛同时,将当前点最短距离和点的编号压入小根堆(距离短的在堆上方)遍历堆中的元素,因为小根堆的缘故,先遍历的都是距离短的点,这样就可以保证松弛的数据越来越贴近我们的目的重复3~5步,直到堆中没有元素为
2020-05-29 17:53:04
405
原创 luogu P1197 [JSOI2008]星球大战-并查集题解
先上题目题目描述很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系。 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直接或间接地连接。但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划地摧毁反抗军占领的星球。由于星球的不断被摧毁,两个星球之间的通讯通道也开始不可靠起来。现在,反抗军首领交给你一个任务:给出原来两个星球之间的以太隧道连通情况以及帝国打击的星球顺序,以尽量快的
2020-05-29 16:19:34
254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人