HDU-1233

#include <iostream>
#define INF 1000000
using namespace std;
int Map[][];
bool NewNode[];
bool OldNode[];
bool UsedNode[];
int lowcast[];
int main(int argc, const char * argv[]) {
int n;
cin.sync_with_stdio(false);
while(cin>>n)
{
if(n==)
break;
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
Map[i][j]=Map[j][i]=INF;
for(int i=;i<=n;i++)
{
NewNode[i]=false;
OldNode[i]=true;
lowcast[i]=INF;
}
for(int i=;i<=n*(n-)/;i++)
{
int a,b,val;
cin>>a>>b>>val;
Map[a][b]=Map[b][a]=val;
}
int counter=,pos=,sum=;
while(counter!=n)
{
NewNode[pos]=true;
OldNode[pos]=false;
for(int i=;i<=n;i++)
{
if(OldNode[i]==true&&Map[pos][i]<lowcast[i])
lowcast[i]=Map[pos][i];
}
int Min=INF,Minpos;
for(int i=;i<=n;i++)
{
if(OldNode[i]==true&&lowcast[i]<Min)
{
Minpos=i;
Min=lowcast[i];
}
}
pos=Minpos;
counter++;
sum+=Min;
}
cout<<sum<<endl; }
return ;
}

dijkstra算法模板:

#include <iostream>
#include <vector>
#include <queue>
#define INF 20000000
#define N 1005
#define LL long long int
using namespace std;
int n,m,s,pos; //点,边,起点,终点
LL ans;//总费用
struct Node//记录指向点和路径费用
{
int pos,c;
friend bool operator <(Node a,Node b)
{
return a.c>b.c;
}
};
vector<Node> g[N];//临接表
int dis[N];//距离数组
void ini()//初始化
{
for(int i=;i<=n;i++)
g[i].clear();
ans=INF;
}
void dij(int from)//输入起点
{
priority_queue<Node> q;
fill(dis,dis+n+1,INF);
dis[from]=;
Node now={from,};
q.push(now);
while(!q.empty())
{
now=q.top(),q.pop();
int v=now.pos;
if(dis[v]<now.c)
continue;
for(int i=;i<g[v].size();i++)
{
Node e;
e=g[v][i];
if(dis[e.pos]>dis[v]+e.c)
{
dis[e.pos]=dis[v]+e.c;
Node next={e.pos,dis[e.pos]};
q.push(next);
}
}
}
}

最短路-Prim算法 dijkstra算法的更多相关文章

  1. 最短路径算法-Dijkstra算法的应用之单词转换(词梯问题)(转)

    一,问题描述 在英文单词表中,有一些单词非常相似,它们可以通过只变换一个字符而得到另一个单词.比如:hive-->five:wine-->line:line-->nine:nine- ...

  2. (转)最短路算法--Dijkstra算法

    转自:http://blog.51cto.com/ahalei/1387799         上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短 ...

  3. 【hdu 2544最短路】【Dijkstra算法模板题】

    Dijkstra算法 分析 Dijkstra算法适用于边权为正的情况.它可用于计算正权图上的单源最短路( Single-Source Shortest Paths, SSSP) , 即从单个源点出发, ...

  4. HDU1535——Invitation Cards(最短路径:SPAF算法+dijkstra算法)

    Invitation Cards DescriptionIn the age of television, not many people attend theater performances. A ...

  5. 《算法导论》读书笔记之图论算法—Dijkstra 算法求最短路径

    自从打ACM以来也算是用Dijkstra算法来求最短路径了好久,现在就写一篇博客来介绍一下这个算法吧 :) Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的 ...

  6. 最小生成树(prime算法 & kruskal算法)和 最短路径算法(floyd算法 & dijkstra算法)

    一.主要内容: 介绍图论中两大经典问题:最小生成树问题以及最短路径问题,以及给出解决每个问题的两种不同算法. 其中最小生成树问题可参考以下题目: 题目1012:畅通工程 http://ac.jobdu ...

  7. 最短路径算法——Dijkstra算法

    在路由选择算法中都要用到求最短路径算法.最出名的求最短路径算法有两个,即Bellman-Ford算法和Dijkstra算法.这两种算法的思路不同,但得出的结果是相同的. 下面只介绍Dijkstra算法 ...

  8. 单源最短路径算法——Dijkstra算法(迪杰斯特拉算法)

    一 综述 Dijkstra算法(迪杰斯特拉算法)主要是用于求解有向图中单源最短路径问题.其本质是基于贪心策略的(具体见下文).其基本原理如下: (1)初始化:集合vertex_set初始为{sourc ...

  9. 最短路径算法——Dijkstra算法与Floyd算法

    转自:https://www.cnblogs.com/smile233/p/8303673.html 最短路径 ①在非网图中,最短路径是指两顶点之间经历的边数最少的路径. AE:1    ADE:2  ...

随机推荐

  1. [转载]DropDownList三级菜单联动源码

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  2. AngularJs表单自动验证

    angular-auto-validate 地址:https://github.com/jonsamwell/angular-auto-validate 引用: <script src=&quo ...

  3. web前端----JavaScript(JS)简单介绍

    JavaScript(JS) 一.JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEa ...

  4. 【翻唱】Keep On Fighting

    http://video.yingtu.co/0/77868591-502c-4af1-853b-d313e83c94a9.mp4 Keep On Fighting

  5. MySQL索引类型总结和使用技巧

    引用地址:http://www.jb51.net/article/49346.htm 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: 复制代码 代码如下: C ...

  6. python函数—形参、实参、位置参数、关键字参数

    1.通过def function_name([parameter]): 定义,函数一遇到return即结束运行.如果函数没有定义返回值,则返回None,如果定义了一个返回值,则返回该对象,如果一个re ...

  7. Mysql截取和拆分字符串函数用法

    Mysql截取和拆分字符串函数用法 截取字符串函数: SUBSTRING(commentid,9) 意思是:从第9个字符开始截取到最后.SUBSTRING的参数有三个,最后一个是截取的长度,默认是到结 ...

  8. Python3基础 break while循环示例

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. Django组件(四) Django之Auth模块

    Auth模块概述 Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能 ...

  10. JQuery使用教程

    jQuery简介 jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team jQuery是对原生JavaScript二次封装的工具函数集合 ...