ACM_图
兵工厂阿森纳
Focus on machine learning
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SPFA算法(最短路径)
ford算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法。设立一个先进先出的队列用来保存待优化的结点,优化时每次取出队首结点u,并且用u点当前的最短路径估计值对离开u点所指向的结点v进行松弛操作,如果v点的最短路径估计值有所调整,且v点不在当前的队列中,就将v点放入队尾。这样不断从队列中取出结点来进行松弛操作,直至队列空为止。如果某个点进入队列的次数超过N次则存在负环(SP转载 2016-04-06 22:18:56 · 418 阅读 · 0 评论 -
有上下界的网络流
1、无源汇有上下界最大流 题目链接: sgu194 Reactor Cooling 题目大意:给n个点,及m根pipe,每根pipe用来流躺液体的,单向的,每时每刻每根pipe流进来的物质要等于流出去的物质,要使得m条pipe组成一个循环体,里面流躺物质。并且满足每根pipe一定的流量限制,范围为[Li,Ri].即要满足每时刻流进来的不能超过Ri(最大流问题),同时最小不能低于Li。 建图模原创 2016-04-11 11:57:16 · 412 阅读 · 0 评论 -
Vijos 1579 最小生成树kruskal的变形
问题链接:https://vijos.org/p/1579大意为找到一颗最小生成树所对应的边权之和最小的完全图。 kruskal的算法,是每一次连通两个连通块,且边权尽量小,我们假设这个边权是L 那么 这两个连通块之间的其他连线肯定>L 那么每次我们连通两个连通块时,就可以得到这两个连通块其他线的最小长度L+1#include <iostream> #include <cstdio> #inc转载 2016-04-09 17:04:01 · 392 阅读 · 0 评论 -
求最小环(基于Floyd)
/*算法的思想主要可以理解为: 一个环至少需要三条边,那么把每组两两相邻的边<i,k>和<k,j>选作其中两条边,用floyd找到从i到j的最短路径,把这条路径作为<i,k>、<k,j>之外的边构成环。选择最短的一条环即可。 */ #include <iostream>using namespace std; #define IN 100000000int main() { int i,j,k,x1原创 2016-04-10 14:51:03 · 340 阅读 · 0 评论 -
每个顶点指定流量的无源汇最小费用流(80人环游地球)
题目链接:https://vijos.org/p/1213构图方法: 加入超级源s和超级汇t,每个城市分成两个节点wi和ui,所有到达第i城市的航线都指向wi,所有从第i城市出发的航线都从ui指出,每个城市i都连接一条从wi指向ui的路径,容量设置为该城市指定的流量vi,费用设置为-INF(为了吸引流量,使得流量竟可能地流过城市i,这样可以保证指定的流量vi得到满足)。由于可以从任意城市出发,所以原创 2016-04-11 19:07:31 · 818 阅读 · 0 评论
分享