算法_图
under_sky_dxj
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【DayDayUp】【算法_图_网络流_之三_最小费用最大流】(待补全)
【坚持不能偷懒】网络流这块有点懵逼,所以一起搞一下最小费用最大流,下面介绍的是常规做法,比较裸思路是:记Flow为剩余流量,Cost为单位流量价格,S为源点,T为汇点每次在【剩余图】中增广一条【最小单位流量费用】的增广路怎么做到呢,凡是Flow不为0,表示一条路可以走然后我们找一条S到T的(可以走的,最小Cost和的路)那么从S到T的【单位流量消耗】是最小的原创 2017-03-19 11:45:30 · 608 阅读 · 0 评论 -
【DayDayUp】【算法_图_网络流_之二_Dinic层次图与最小费最大流的概述】(待续)
【坚持不能偷懒】【Dinic与层次图】突然发现网络流都是套个Dinic的板子,然后啪啦啪啦就完成了但知其然不知其所以然是好不爽的一件事……所以把网络流看了一遍上回书说道,野生网络流(EK算法)的复杂度 是 O (VEE)这个效率是比较渣的……所以就需要改进一个常用的算法,也是我长期闭着眼睛套的板子就是Dinic朴素的Dinic,就是在此基础上,加入一原创 2017-03-16 11:24:28 · 877 阅读 · 0 评论 -
【DayDayUp】【算法_图_强连通_之一_Kosaraju算法和Tarjan算法】
【坚持不能偷懒】譬如一个有向图,V个点,E条边如果一个区域中的每个点都能到达任意另一个点则称这个区域强连通【相对朴素的Kosaraju算法】需要对图Dfs两发第一遍Dfs在dfs时记录一个时间(下面栗子里,括号里为时间)譬如A->B->C B->D这样的图我搜索A(1) ->搜索B(2) ->搜索C(3)这时候,发现没了,退出 所以C变成(3原创 2017-03-16 10:57:00 · 590 阅读 · 0 评论 -
【DayDayUp】【算法_图_网络流_之一_增广路】
【坚持不能偷懒】(概念简单说明,具体还请自行百度……)网络流:常见问题:最大流一个图,有向图,边上有容量上限,许多点,起点S,终点E从S到E,最多流量是多少核心思想:【增广路】【剩余图】【反向边】朴素地说我找完一条路了,把流量去掉则加入【反向边】重新做图做出的图就是【剩余图】如果我还能找到一条流量不为0的路径即是一条【增广路】原创 2017-03-15 16:27:18 · 543 阅读 · 0 评论 -
【DayDayUp】【算法_图_欧拉回路_之一_Fleury (弗罗莱) 算法】
【坚持不能偷懒】通过图(无向图或有向图)中所有边且每边仅通过一次通路称为欧拉通路,相应的回路称为欧拉回路。具有欧拉回路的图称为欧拉图(Euler Graph),具有欧拉通路而无欧拉回路的图称为半欧拉图。——百度百科现在开始通俗地扯扯。什么是欧拉图捏,就是从【一个点】出发把【每条边】刷【一】发 且 只刷【一】发然后【回到这个点】满足这样条件的路径,就是原创 2017-03-21 13:23:46 · 949 阅读 · 0 评论 -
【DayDayUp】【算法_图_哈密顿回路_之一_回溯法】(待补完)
刚刚搞了篇欧拉回路,现在趁热再搞个哈密顿回路……欧拉回路是跑光所有的边再跑回来,一条边跑且仅跑一遍哈密顿回路是跑完所有的点再跑回来,路过的节点,跑且只跑一次哈密顿路径问题在上世纪七十年代初,终于被证明是“NP完备”的。据说具有这样性质的问题,难于找到一个有效的算法。实际上对于某些顶点数不到100的网络,利用现有最好的算法和计算机也需要比较荒唐的时间(比如几百年)才能确定原创 2017-03-21 13:40:20 · 3704 阅读 · 0 评论 -
【DayDayUp】【算法_图_最短路_之一_Dijkstra和几种优化姿势】
V 定点数 E 边数【原生DIJ】从初始点出发 V 次循环每次对当前点扩展【有效边】 (如果直接对所有点刷 是 V ,而用链表刷有效边是总计为E ) 更新已知最短路 再取出【权值最低点】作为新点重复 (寻最小值 V )故复杂度为 V * V + E【DIJ 的 Heap 优化】考虑到每次找【权值最低点】这一步,对其进行堆优化其具体措施是写一个堆然后原创 2016-12-19 16:41:18 · 433 阅读 · 0 评论
分享