HDU-1233
#include
#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]=Map[pos][i];
}
int Min=INF,Minpos;
for(int i=;i<=n;i++)
{
if(OldNode[i]==true&&lowcast[i]
{
Minpos=i;
Min=lowcast[i];
}
}
pos=Minpos;
counter++;
sum+=Min;
}
cout<
}
return ;
}
dijkstra算法模板:
#include
#include
#include
#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
{
return a.c>b.c;
}
};
vector g[N];//临接表
int dis[N];//距离数组
void ini()//初始化
{
for(int i=;i<=n;i++)
g[i].clear();
ans=INF;
}
void dij(int from)//输入起点
{
priority_queue 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]
continue;
for(int i=;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);
}
}
}
}
最短路径算法-Dijkstra算法的应用之单词转换(词梯问题)(转)
一,问题描述 在英文单词表中,有一些单词非常相似,它们可以通过只变换一个字符而得到另一个单词.比如:hive-->five:wine-->line:line-->nine:nine- ...
(转)最短路算法--Dijkstra算法
转自:http://blog.51cto.com/ahalei/1387799 上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短 ...
【hdu 2544最短路】【Dijkstra算法模板题】
Dijkstra算法 分析 Dijkstra算法适用于边权为正的情况.它可用于计算正权图上的单源最短路( Single-Source Shortest Paths, SSSP) , 即从单个源点出发, ...
HDU1535——Invitation Cards(最短路径:SPAF算法+dijkstra算法)
Invitation Cards DescriptionIn the age of television, not many people attend theater performances. A ...
《算法导论》读书笔记之图论算法—Dijkstra 算法求最短路径
自从打ACM以来也算是用Dijkstra算法来求最短路径了好久,现在就写一篇博客来介绍一下这个算法吧 :) Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的 ...
最小生成树(prime算法 &; kruskal算法)和 最短路径算法(floyd算法 &; dijkstra算法)
一.主要内容: 介绍图论中两大经典问题:最小生成树问题以及最短路径问题,以及给出解决每个问题的两种不同算法. 其中最小生成树问题可参考以下题目: 题目1012:畅通工程 http://ac.jobdu ...
最短路径算法——Dijkstra算法
在路由选择算法中都要用到求最短路径算法.最出名的求最短路径算法有两个,即Bellman-Ford算法和Dijkstra算法.这两种算法的思路不同,但得出的结果是相同的. 下面只介绍Dijkstra算法 ...
单源最短路径算法——Dijkstra算法(迪杰斯特拉算法)
一 综述 Dijkstra算法(迪杰斯特拉算法)主要是用于求解有向图中单源最短路径问题.其本质是基于贪心策略的(具体见下文).其基本原理如下: (1)初始化:集合vertex_set初始为{sourc ...
最短路径算法——Dijkstra算法与Floyd算法
转自:https://www.cnblogs.com/smile233/p/8303673.html 最短路径 ①在非网图中,最短路径是指两顶点之间经历的边数最少的路径. AE:1 ADE:2 ...
随机推荐
html5新增及删除标签
一.新增标签 有一种划分为,功能性标签[html5新增,如canvas,旧浏览器没有]和语义性标签[如header等只是增强语义,没有新功能].下面按照分几个小类来说. 1.结构标签 新增的结构标签, ...
DUILIB CDialogBuilder 使用问题
频繁调用CDialogBuilder的create接口创建同一个配置文件,会报异常: 正常的处理方式如下: if (!m_dlgBuilder.GetMarkup()->IsValid()) { ...
Javascript之旅(一)
Javascript之旅(一) 一.基础知识 基本语法 变量 数据类型 字符串 数组 对象 条件判断 循环 Map和Set iterable 为什么要学习JavaScript JavaScript 是 ...
interblock corruption &; intrablock corruption
interblock corruption: corruption blocks rather than within the block itself. can only be logical co ...
delphi Sender和Tag的用法1
Sender和Tag的用法 在它们共同的OnClick事件下返回单击的那个按钮的标题 unit Unit1;interfaceuses Winapi.Windows, Winapi ...
STL string 模拟
下面的代码来自c++ primer plus第5版第12章,书中代码写的非常好: // string1.h -- fixed and augmented string class definition ...
CF #edu 11 C. Hard Process
题目链接:http://codeforces.com/problemset/problem/660/C 大意是给一个01数组,至多可以将k个0变为1,问最后数组中最长能有多少个连续的1,并输出. 问题 ...
微信公众号开发《三》微信JS-SDK之地理位置的获取,集成百度地图实现在线地图搜索
本次讲解微信开发第三篇:获取用户地址位置信息,是非常常用的功能,特别是服务行业公众号,尤为需要该功能,本次讲解的就是如何调用微信JS-SDK接口,获取用户位置信息,并结合百度地铁,实现在线地图搜索,与 ...
PHP开发程序员的学习路线
PHP开发程序员的学习路线 兄弟连PHP培训,简单为大家梳理了每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标. 第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟 ...
c#中内置委托
一.Action泛型委托 和之前委托最大区别在于不用定义委托,直接实例化委托(申明就可以),泛型其实就是选择数据类型,进行使得程序更加安全,并且也实现了委托的重载,最多选择16个参数. namespa ...