板子

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll inf=2<<30-1;
const ll maxn=599999;
ll head[maxn*2],cnt=1,n,m,s,dis[maxn];
struct edge{
ll to,w,nxt;
}d[maxn];
queue<ll>q;
bool vis[maxn];
void add(int u,int v,int w){
d[cnt].to=v,d[cnt].nxt=head[u];
d[cnt].w=w;head[u]=cnt++;
}
void spfa(ll s)
{
memset(vis,0,sizeof(vis));
for(int i=0;i<=n;i++) dis[i]=inf;
dis[s]=0;q.push(s);vis[s]=1;
while(!q.empty())
{
ll ans=q.front();q.pop();vis[ans]=0;
for(int i=head[ans];i;i=d[i].nxt)
{
if(dis[d[i].to]>dis[ans]+d[i].w)
{
dis[d[i].to]=dis[ans]+d[i].w;
if(!vis[d[i].to])//没在队列中
{
vis[d[i].to]=1;
q.push(d[i].to);
}
}
}
}
}
int main()
{
cin>>n>>m>>s;
for(int i=1;i<=m;i++)
{
int l,r,w;
cin>>l>>r>>w;
add(l,r,w);
}
spfa(s);
}

最新文章

  1. .NET LINQ 元素操作
  2. Memcached存储命令 - replace
  3. VS用法总结
  4. ASP.NET MVC进阶二
  5. Java学习记录-注解
  6. JS全局函数parseInt和parseFloat
  7. 算法导论 第六章 思考题 6-3 d叉堆
  8. SVN-服务器搭建、apache2整合、eclipse使用
  9. java解析xml的4种经典方法
  10. 关于android:inputType属性的说明
  11. appendChild()插入节点需注意的问题
  12. asp.net 163邮件发送
  13. CSS自学笔记(8):CSS拓展(一)
  14. [LeetCode][Python]Integer to Roman
  15. c++ build options(important)
  16. [国嵌攻略][173][BOA嵌入式服务器移植]
  17. tday02 上节课复习
  18. 轻松制作X86 OPENWRT USB启动盘
  19. Go 语言读书笔记
  20. C++max的使用方法

热门文章

  1. 【python实现卷积神经网络】上采样层upSampling2D实现
  2. Apache与PHP的配置
  3. 练习,自定义TextView(1.1)
  4. Mac 下 brew 切换为国内源
  5. 从python爬虫以及数据可视化的角度来为大家呈现“227事件”后,肖战粉丝的数据图
  6. 调用sleep后,我做了一个噩梦
  7. XSS语义分析的阶段性总结(一)
  8. Ubuntu下的eclipse配置MapReduce
  9. 手把手教你使用Python爬取西刺代理数据(下篇)
  10. CG-CTF(4)