博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jzoj3086 [分層圖最短路]
阅读量:5072 次
发布时间:2019-06-12

本文共 837 字,大约阅读时间需要 2 分钟。

分層圖最短路即可

#include
using namespace std;#define N 1000010int n,m,v[N*2],nxt[N*2],w[N*2],h[N],ec,d[N],vis[N],s,t,x[N],y[N],sx,sy,tx,ty;void add(int x,int y,int z){v[++ec]=y;w[ec]=z;nxt[ec]=h[x];h[x]=ec;}void bfs(){ queue
q; q.push(s); vis[s]=1; memset(d,63,sizeof(d)); d[s]=0; while(!q.empty()){ int x=q.front(); q.pop(); vis[x]=0; for(int i=h[x];i;i=nxt[i]) if(d[v[i]]>d[x]+w[i]){ d[v[i]]=d[x]+w[i]; if(!vis[v[i]]){ vis[v[i]]=1; q.push(v[i]); } } }}bool c1(int a,int b){return y[a]
vc[100010];int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++) scanf("%d%d",&x[i],&y[i]); for(int i=1;i<=m;i++) vc[x[i]].push_back(i); for(int i=1;i<=n;i++) sort(vc[i].begin(),vc[i].end(),c1); for(int i=1;i<=n;i++) for(int j=0;j
1000000000?-1:d[t]);}

转载于:https://www.cnblogs.com/rilisoft/p/10385210.html

你可能感兴趣的文章
排球积分程序(三)——模型类的设计
查看>>
python numpy sum函数用法
查看>>
php变量什么情况下加大括号{}
查看>>
less入门
查看>>
如何实现手游app瘦身?
查看>>
linux程序设计---序
查看>>
【字符串入门专题1】hdu3613 【一个悲伤的exkmp】
查看>>
C# Linq获取两个List或数组的差集交集
查看>>
21.Longest Palindromic Substring(最长回文子串)
查看>>
HDU 4635 Strongly connected
查看>>
ASP.NET/C#获取文章中图片的地址
查看>>
Spring MVC 入门(二)
查看>>
Java处理多人同时读写文件的文件锁处理
查看>>
格式化输出数字和时间
查看>>
页面中公用的全选按钮,单选按钮组件的编写
查看>>
判断文本框输入的文字长度
查看>>
java笔记--用ThreadLocal管理线程,Callable<V>接口实现有返回值的线程
查看>>
Scaling Pinterest - From 0 To 10s Of Billions Of Page Views A Month In Two Years
查看>>
SelectSort 选择排序
查看>>
关于android 加载https网页的问题
查看>>