(最短路 SPFA)Invitation Cards -- poj -- 1511
链接:
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的更多相关文章
- Invitation Cards POJ - 1511 (双向单源最短路)
In the age of television, not many people attend theater performances. Antique Comedians of Malidine ...
- Invitation Cards POJ 1511 SPFA || dij + heap
http://poj.org/problem?id=1511 求解从1去其他顶点的最短距离之和. 加上其他顶点到1的最短距离之和. 边是单向的. 第一种很容易,直接一个最短路, 然后第二个,需要把边反 ...
- Invitation Cards POJ - 1511
题目链接:https://vjudge.net/problem/POJ-1511 思路:题目意思就是,从1出发到所有城市,再从所有城市回到1的最短时间. 那么我们只要正跑一次图,然后反向存边,再跑一次 ...
- SPFA算法(2) POJ 1511 Invitation Cards
原题: Invitation Cards Time Limit: 8000MS Memory Limit: 262144K Total Submissions: 31230 Accepted: ...
- (最短路 spfa)Wormholes -- poj -- 3259
http://poj.org/problem?id=3259 Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions ...
- POJ 1511 Invitation Cards (最短路spfa)
Invitation Cards 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/J Description In the age ...
- POJ 1511 Invitation Cards (spfa的邻接表)
Invitation Cards Time Limit : 16000/8000ms (Java/Other) Memory Limit : 524288/262144K (Java/Other) ...
- poj 1511 Invitation Cards(最短路中等题)
In the age of television, not many people attend theater performances. Antique Comedians of Malidine ...
- POJ 1511 Invitation Cards(单源最短路,优先队列优化的Dijkstra)
Invitation Cards Time Limit: 8000MS Memory Limit: 262144K Total Submissions: 16178 Accepted: 526 ...
随机推荐
- Oracle 表空间查询与操作方法
一.查询篇 1.查询oracle表空间的使用情况 select b.file_id 文件ID, b.tablespace_name 表空间, b.file_name 物理文件名, b.bytes ...
- 黄聪:VS2010中如何让webbrowser不弹出JS异常错误窗口(c#.net)
1.在属性窗口找到ScriptErrorsSuppressed,选择"true",这个选择的意思是,如果网页上有出现错误命令,这个错误提示将被抑制 2.[项目管理那里,在项目上右击 ...
- 汇编_指令_REP MOVESB 和 CLD
先说说MOVSB(MOVe String Byte):即字符串传送指令,这条指令按字节传送数据.通过SI和DI这两个寄存器控制字符串的源地址和目标地址,比如DS:SI这段地址的N个字节复制到ES:DI ...
- 学习笔记之SQL / MySQL
SQL Fiddle(在线执行SQL语句的网站) http://www.sqlfiddle.com/ MySQL https://www.mysql.com/ MySQL :: MySQL 5.7 R ...
- 解决Maven出现Plugin execution not covered by lifecycle configuration 错误
http://blog.163.com/xh_ding/blog/static/1939032892015222368827/ 解决Maven出现Plugin execution not covere ...
- pythonNet08
线程通信 通信方法:多个线程共用进程空间,所以进程的全局变量对进程内线程均可见.线程往往使用全局变量进行通信 注意事项:线程间使用全局变量进行通信,全局变量为共享资源,往往需要同步互斥机制 线程的同步 ...
- 6.5笔记-DQL高级查询
一.高级查询 Exists Drop table if exists result; 子查询有返回结果: EXISTS子查询结果为TRUE 子查询无返回结果: EXISTS子查询结果为FALSE, 外 ...
- MySQL 存储配置
- Python开发一个WEB聊天室
项目实战:开发一个WEB聊天室 功能需求: 用户可以与好友一对一聊天 可以搜索.添加某人为好友 用户可以搜索和添加群 每个群有管理员可以审批用户的加群请求,群管理员可以用多个,群管理员可以删除.添加. ...
- 其他标签a实现提交功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...