#include<stdio.h>

#include<string.h>

#include<queue>

#include<iostream>

using namespace std;

#define inf 1000000000

#define N 110000

struct node {

int u,v,w,next;

}bian[N*2];

int head[N],yong,mindistance[N],n,visit[N],countt[N];

void addedge(int u,int v,int w) {

bian[yong].u=u;

bian[yong].v=v;

bian[yong].w=w;

bian[yong].next=head[u];

head[u]=yong++;

}

void min_spfa(int cur) { 

  int i;

  for(i=0;i<=n;i++) {

  mindistance[i]=inf;

  visit[i]=0;

  countt[i]=0;//原来在c++中的某些关键字不能乱用比如说count之类

  }

  visit[cur]=1;

  queue<int>q;

  q.push(cur);

  mindistance[cur]=0;

  while(!q.empty()) {

   cur=q.front();

  q.pop();

  for(i=head[cur];i!=-1;i=bian[i].next) {

  int v=bian[i].v;

  if(mindistance[v]>mindistance[cur]+bian[i].w) {

  mindistance[v]=mindistance[cur]+bian[i].w;

  if(!visit[v]) {

  if(++countt[v]>n)

 return ;

visit[v]=1; 

 q.push(v);

  }

  }

  }

  visit[cur]=0;

  }

  return ;

}

int main() {

      int i,a,b,c,dis[N],sum,minsum;

 while(scanf("%d",&n)!=EOF) {

   yong=0;

memset(head,-1,sizeof(head));

for(i=0;i<=n;i++)

scanf("%d",&dis[i]);

sum=0;

for(i=0;i<n;i++) {

scanf("%d%d%d",&a,&b,&c);

addedge(a,b,c);

addedge(b,a,c);

sum=sum+c*2;

}

 min_spfa(0);

 minsum=sum+dis[0];

 for(i=1;i<=n;i++) {

 if(minsum>sum-mindistance[i]+dis[i])

 minsum=sum-mindistance[i]+dis[i];

 }

 printf("%d\n",minsum);

 }

return 0;

}

hdu 4171 最短路的更多相关文章

  1. ACM: HDU 2544 最短路-Dijkstra算法

    HDU 2544最短路 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descrip ...

  2. UESTC 30 &&HDU 2544最短路【Floyd求解裸题】

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  3. hdu 5521 最短路

    Meeting Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  4. HDU - 2544最短路 (dijkstra算法)

    HDU - 2544最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以 ...

  5. HDU2112 HDU Today 最短路+字符串哈希

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  6. hdu 2544 最短路

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shi ...

  7. hdu 2544 最短路 Dijkstra

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目分析:比较简单的最短路算法应用.题目告知起点与终点的位置,以及各路口之间路径到达所需的时间, ...

  8. HDU - 2680 最短路 spfa 模板

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2680 题目大意,就是一个人可以从多个起点开始出发,看到终点的最短路是多少..只有可以运用和hdu2066 ...

  9. HDU 2066 最短路floyd算法+优化

    http://acm.hdu.edu.cn/showproblem.php?pid=206 题意 从任意一个邻居家出发 到达任意一个终点的 最小距离 解析 求多源最短路 我想到的是Floyd算法 但是 ...

随机推荐

  1. 【WIP】Bootstrap modal

    创建: 2017/09/28   更新: 2017/10/14 标题加上[WIP]

  2. html5做的一个激光条

    <!DOCTYPE HTML><html lang="zh-cn"><head> <title>CSS3激光加载条</titl ...

  3. bzoj1089 [SCOI2003]严格n元树(dp+高精)

    1089: [SCOI2003]严格n元树 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1899  Solved: 954[Submit][Statu ...

  4. SpringBoot2.0 浅谈注解@ControllerAdvice的作用

    我们都知道做项目一般都会有全局异常统一处理的类,那么这个类在Spring中可以用@ControllerAdvice来实现,费话不多说,先看代码: import org.springframework. ...

  5. golang——常用内建函数

    (1)func len(v Type) int 返回长度,取决于具体类型:字符串返回字节数:channel返回缓存元素的个数: (2)func cap(v Type) int 返回容量,取决于具体类型 ...

  6. PHPExcel读取文件日期处理,含时分秒(Thinkphp)

    我们使用PHPExcel读取excel文件后发现,时间都是类似于这样的数字:41890.620138889,那么如何将它处理成我们想要的2014-09-08 14:53:00这样格式的日期呢,看代码: ...

  7. scrapy的UA池和代理池

    一.下载中间件(Downloader Middlewares) 框架图如下 下载中间件(Downloader Middlewares)位于scrapy引擎和下载器之间的一层组件. - 作用: (1)引 ...

  8. Coursera公开课-Machine_learing:编程作业7

    这周的编程作业主要是两方面内容. 1.K-means聚类. 2.PCA(Principle Component Analys)主成分分析. 方式主要是通过对图像的聚类实现压缩图像,后来发现PCA也可以 ...

  9. LinearLayout中间布局填充出现的问题

    线性布局如何中间填充,会挤掉他下面的布局,所以中间填充使用layout_weight属性.

  10. Hive扩展功能(四)--HiveServer2服务

    软件环境: linux系统: CentOS6.7 Hadoop版本: 2.6.5 zookeeper版本: 3.4.8 主机配置: 一共m1, m2, m3这五部机, 每部主机的用户名都为centos ...