链接:

http://poj.org/problem?id=1511

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82829#problem/J

代码:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <queue>
#include <map>
using namespace std; #define N 1000005
#define oo 0x3fffffff struct node
{
int a, b, next;
long long p;
}s1[N], s[N]; int n, m, head[N];
long long dis[N];
bool vis[N]; void Add(int a, int b, long long p, int k)
{
s1[k].a=a;
s1[k].b=b;
s1[k].p=p;
s1[k].next=head[a];
head[a]=k;
} long long spfa()
{
queue<int>Q;
Q.push();
vis[]=true; for(int i=; i<=n; i++)
dis[i]=oo;
dis[]=; while(Q.size())
{
int i = Q.front(); Q.pop();
vis[i] = false; for(int j=head[i]; j != ; j = s1[j].next)
{
int a = s1[j].a, b = s1[j].b;
int p = s1[j].p; if(dis[a]+p < dis[b])
{
dis[b] = dis[a] + p; if(vis[b] == false)
{
Q.push(b);
vis[b] = true;
}
}
}
} long long sum=; for(int i=; i<=n; i++)
sum += dis[i];
return sum;
} int main()
{
int t;
scanf("%d", &t);
while(t--)
{
scanf("%d%d", &n, &m); int i; memset(head, , sizeof(head));
memset(s, , sizeof(s));
memset(s1, , sizeof(s1)); for(i=; i<=m; i++)
{
scanf("%d%d%I64d", &s[i].a, &s[i].b, &s[i].p);
Add(s[i].a, s[i].b, s[i].p, i);
} long long ans = spfa(); memset(head, , sizeof(head));
for(i=; i<=m; i++)
Add(s[i].b, s[i].a, s[i].p, i); ans += spfa();
printf("%I64d\n", ans);
}
return ;
}

(最短路 SPFA)Invitation Cards -- poj -- 1511的更多相关文章

  1. Invitation Cards POJ - 1511 (双向单源最短路)

    In the age of television, not many people attend theater performances. Antique Comedians of Malidine ...

  2. Invitation Cards POJ 1511 SPFA || dij + heap

    http://poj.org/problem?id=1511 求解从1去其他顶点的最短距离之和. 加上其他顶点到1的最短距离之和. 边是单向的. 第一种很容易,直接一个最短路, 然后第二个,需要把边反 ...

  3. Invitation Cards POJ - 1511

    题目链接:https://vjudge.net/problem/POJ-1511 思路:题目意思就是,从1出发到所有城市,再从所有城市回到1的最短时间. 那么我们只要正跑一次图,然后反向存边,再跑一次 ...

  4. SPFA算法(2) POJ 1511 Invitation Cards

    原题: Invitation Cards Time Limit: 8000MS   Memory Limit: 262144K Total Submissions: 31230   Accepted: ...

  5. (最短路 spfa)Wormholes -- poj -- 3259

    http://poj.org/problem?id=3259 Wormholes Time Limit: 2000MS   Memory Limit: 65536K Total Submissions ...

  6. POJ 1511 Invitation Cards (最短路spfa)

    Invitation Cards 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/J Description In the age ...

  7. POJ 1511 Invitation Cards (spfa的邻接表)

    Invitation Cards Time Limit : 16000/8000ms (Java/Other)   Memory Limit : 524288/262144K (Java/Other) ...

  8. poj 1511 Invitation Cards(最短路中等题)

    In the age of television, not many people attend theater performances. Antique Comedians of Malidine ...

  9. POJ 1511 Invitation Cards(单源最短路,优先队列优化的Dijkstra)

    Invitation Cards Time Limit: 8000MS   Memory Limit: 262144K Total Submissions: 16178   Accepted: 526 ...

随机推荐

  1. IEEE 754 浮点数在计算机中的表示方法

    IEEE二进制浮点数算术标准(IEEE 754)是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用.这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denorma ...

  2. JavaWeb的过滤器Filter

    Filter的作用是在请求到达web资源(HTML.css.Servlet.Jsp)之前拦截,做一个预处理. 创建一个类实现Filter接口,在web.xml中对文件进行配置 <filter&g ...

  3. Log4j(1)--hellloworld

    创建项目: 使用的是log4j-1.2.17.jar: log4j.properties: log4j.rootLogger=DEBUG, Console ,File #Console log4j.a ...

  4. ROS+OPENVPN配置

    环境需求:ROS版本:5.26,OPENVPN版本:OpenVPNPortable1.0.3(下载地址http://sourceforge.net/projects/ovpnp/)在WIN7 X64, ...

  5. C++ 排序总结

    原帖地址 http://kongec.blog.sohu.com/85141353.html 附  六分钟演示15中算法 http://www.guokr.com/post/482666/ 一.插入排 ...

  6. pycharm(2016.3.2版本)导入工程文件执行程序时弹出Edit configuration

    最近为了能在公司和住所连续写脚本,每写好一部分就压缩打包发送到手机,然后再发送到公司电脑或者自己的笔记本,但是发现重新打开工程文件时有时会弹出Edit configuration配置框,而且每执行一个 ...

  7. SQL 基础命令和函数

    [数据操作] SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 [数据定义] C ...

  8. Space-vim的.spacevim配置备份

    安装 windows安装 配置 在C盘的用户目录下,有一个'.spacevim'的文件,可以修改你要的配置 " Let Vim and NeoVim shares the same plug ...

  9. Git----时光穿梭机之管理修改04

    假如你已经阅读了https://www.cnblogs.com/cxq0017/p/9663452.html Git工作区和暂存区,并且已经掌握了暂存区的概念,下面我们要讨论的是,为什么Git比其他版 ...

  10. 《C语言基础日常笔记》

    1. 类型转换-----------------20130902 a, 浮点数(包括单精度与双精度)赋值给整型变量时,舍弃浮点数的小数部分,直接将其整数部分存放在整型变量里. b, 整型变量赋值给浮点 ...