bellman_ford 模板

原创 2015年11月20日 12:25:21
const int INF = 0x3f3f3f3f;
const int MAXN = 550;

int dis[MAXN];

struct Edge
{
    int u, v, cost;
    Edge(int _u = 0, int _v = 0, int _cost = 0) :u (_u),v(_v), cost(_cost){};
};

vector<Edge> E;

bool bellman_ford(int start,int n)
{
    for (int i = 0;i <= n;i++) dis[i] = INF;
    dis[start] = 0;
    for (int i = 1;i < n;i++)
    {
        bool flag = false;
        for (int j = 0;j < E.size();j++)
        {
            int u = E[j].u;
            int v = E[j].v;
            int cost = E[j].cost;
            if (dis[v] > dis[u] + cost)
            {
                dis[v] = dis[u] + cost;
                flag = true;
            }
        }
        if (!flag) return true;
    }

    for (int j = 0;j < E.size();j++)
    {
        if (dis[E[j].v] > dis[E[j].u] + E[j].cost)
            return false;
    }
    return true;
}
版权声明:转载请注明出处。

相关文章推荐

看别人博客手敲的Bellman Ford模板

#include #include //数组dis[maxn]记录从源点source到顶点v的路径长度,初始化数组dis[n]为maxint, dis[s]为0; //以下操作循环执行至多n-1次,n...

单源最短路 bellman_ford算法(模板)

/* 单源最短路bellman_ford算法,复杂度O(VE) 可以处理负边权图。 可以判断是否存在负环回路。返回true,当且仅当图中不包含从源点可达的负权回路 vector E;先E.clear(...
  • algzjh
  • algzjh
  • 2016年08月22日 21:19
  • 197

最短路径算法—Bellman-Ford模板

//Bellman_Ford算法(可判断有无权为负的回路) #include #include #include #include #define maxn 1005 #define inf ...

模板--Floyd Dijkstra Bellman-Ford spfa 四种最短路经典算法

Floyd Dijkstra Bellman-Ford spfa 四种最短路经典算法汇总 最短路 Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shi...

单源最短路问题模板(Dijkstra+Bellman-Ford)

最短路问题是图论中比较常见的一类问题,其中最简单易懂的就是Floyd算法,这里模板未总结。 然后就是比较经典的Dijkstra算法,这里的Dijkstra是用邻接表和优先队列优化后的。 需要注意的问题...

最小费用流 Bellman-Ford与Dijkstra 模板

今天刚接触最小费用流 码下两个版本当作模板用吧 spfa的做法明天再整理 有负权边的情况只能用Bellman-Ford 没有的话就用Dijkstra 毕竟Dijkstra效率更高 首先贴下Be...

HDU 2544 最短路 floyd djkstra(邻接表,邻接矩阵) spfa bellman-ford 模板题

常用最短路模板代码 最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...

(最短路径算法整理)dijkstra、floyd、bellman-ford、spfa算法模板的整理与介绍

这一篇博客以一些OJ上的题目为载体,整理一下最短路径算法。会陆续的更新。。。   一、多源最短路算法——floyd算法       floyd算法主要用于求任意两点间的最短路径,也成最短最短路径问题。...

Bellman-Ford算法模板

Bellman-Ford算法最重要的一个应用是判负环。 在迭代n-1次后如果还可以进行松弛操作,说明一定存在负圈。 如果包含负环,则路径不存在。 以下为SPFA优化模板:...
  • winycg
  • winycg
  • 2016年04月13日 20:55
  • 237

POJ-1511 初探Bellman-Ford,再水SPFA模板题..

昨天狐狸大大交流~~会了bellman-ford..    bellman-ford简单概括就是:      /*             d [ i ]  来记录源点到 i 点的最小距离,初始...
  • kk303
  • kk303
  • 2011年10月08日 13:25
  • 1961
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:bellman_ford 模板
举报原因:
原因补充:

(最多只允许输入30个字)