【luogu P3371 单源最短路】 模板 vector+SPFA
stl真是好,,偷懒少写邻接表,,
两个STL应用使代码简短了很多。然而还是那句话,天上不会掉馅饼,程序的效率还是有所下降的。然而,效率不是全部,人们宁可牺牲三倍效率用Java而不用C语言就是最好的例子(from_Charles E Leiserson_),具体取舍要看情况。 ——摘自luogu dalao
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
const int inf = 0x7fffffff;
const int maxn = + ;
struct EDGE{
int v, w;
}pos;
vector<EDGE> e[maxn];
queue<int> q;
int n, m, dis[maxn], s;
bool vis[maxn];
int SPFA()
{
while(!q.empty())
{
int now = q.front();
q.pop();
vis[now] = ;
for(int i = ; i < e[now].size(); i++)
{
if(dis[e[now][i].v] > dis[now] + e[now][i].w)
{
dis[e[now][i].v] = dis[now] + e[now][i].w;
if(vis[e[now][i].v] == )
{
vis[e[now][i].v] = ;
q.push(e[now][i].v);
}
}
}
}
}
int main()
{
scanf("%d%d%d",&n,&m,&s);
for(int i = ; i <= n; i++)
dis[i] = inf;
for(int i = ; i <= m; i++)
{
int u;
scanf("%d%d%d",&u,&pos.v,&pos.w);
e[u].push_back(pos);
}
q.push(s);
dis[s] = ;
vis[s] = ;
SPFA();
for(int i = ; i <= n; i++)
printf("%d ",dis[i]);
return ;
}
【luogu P3371 单源最短路】 模板 vector+SPFA的更多相关文章
- 【luogu P3371 单源最短路径】 模板 dij + heap
		题目链接:https://www.luogu.org/problemnew/show/P3371#sub 堆优化迪杰斯特拉,留着以后复习用 #include <iostream> #inc ... 
- 【luogu P3371 单源最短路径】 模板 SPFA
		题目链接:https://www.luogu.org/problemnew/show/P3371 我永远都喜欢Flyod.dijkstra + heap.SPFA #include <cstdi ... 
- 【luogu P3371 单源最短路径 】 模板 SPFA优化
		无优化:500ms deque优化:400ms #include <queue> #include <cstdio> #include <cstring> #inc ... 
- SPFA板子  (背景:Luogu P3371 单源最短路径)
		Luogu P3371 单源最短路径 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输入格式: 第一行包含三个整数N.M.S,分别表示点的个数.有向边的个数 ... 
- 单源最短路模板(dijkstra)
		单源最短路(dijkstra算法及堆优化) 弱化版题目链接 n^2 dijkstra模板 #include<iostream> #include<cstdio> #includ ... 
- 单源最短路模板 + hdu - 2544
		Floyd Floyd 本质上类似一种动态规划,dp [ i ] [ j ] = dp [ i ] [ k ] + dp[ k ] [ j ]. /** * Night gathers, and no ... 
- luogu p3371 单源最短路径(dijkstral
		本来我写的对的 我就多手写了个 ios::sync_with_stdio(false); 我程序里面用了cin 还有scanf 本来想偷偷懒 我就说 我查了半天错 根本找不到的啊... 后来交了几次 ... 
- 单源最短路模板_SPFA_Dijkstra(堆优化)_C++
		随手一打就是标准的SPFA,默认1号节点为出发点,当然不用 f 判断是否在队里也可以,只是这样更优化一点 void spfa() { int i,x,k; ;i<=n;i++) { d[i]=o ... 
- P3371 单源最短路径【模板】   洛谷
		https://www.luogu.org/problem/show?pid=3371 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输入格式: 第一行包含 ... 
随机推荐
- (Frontend Newbie) Web三要素(一)
			上一篇简单了解了Web发展的简要历史,本篇简单介绍前端开发的基本三要素:HTML.CSS.JavaScript中的HTML以及一些在开发.学习过程中易被忽视的知识点. HTML HTML全称是超文本标 ... 
- 022-pinyin4j工具类模板
			模板一 package ${enclosing_package}; import java.util.Arrays; import net.sourceforge.pinyin4j.PinyinHel ... 
- ztree框架使用问题汇总
			1.如何让用户只能点击页子节点 var setting = { callback: { beforeClick: zTreeBeforeClick } }; function zTreeBeforeC ... 
- mongodb慢查询记录
			在 MySQL中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB中是否有类似的功能呢?答案是肯定的,那就是Mongo Database Profiler.不仅有,而且还有一些比MySQL ... 
- 使用request与正则表达式爬取bangumi动画排行榜
			import json import requests from requests.exceptions import RequestException import re import time d ... 
- HDU 5222 ——Exploration——————【并查集+拓扑排序判有向环】
			Exploration Time Limit: 30000/15000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ... 
- Java Collection.Set
			package 集合; /** * Set不包含重复元素 存储顺序和取出数据不一样 * * HashSet:它不保证set的迭代顺序,特别是它不保证该顺序恒久不变 * 底层是哈希表结构的 * Link ... 
- 一、hadoop安装与配置
			准备环境: 系统:centos6.5 64位 192.168.211.129 master 192.168.211.131 slave1 在两台服务器上都要配置ssh免密码登录 在192. ... 
- Windows phone 8.1应用集成cortana语音命令
			微软推出小娜已经有一段时间了,最近恰好在研究其用法,就随便写点记录一下自己的心得. 在研究时参考了@王博_Nick的博客:http://www.cnblogs.com/sonic1abc/p/3868 ... 
- 线程操作之Thread类
			在.Net fremework 中,所有与线程有关的操作都封装在System.Thread命名空间中, 所以在操作线程时,要先引入次命名空间 Thread类的常用方法 Abort 线程终止 Join ... 
