[模板]Dijkstra
来源:互联网 发布:mac 查看运行的程序 编辑:程序博客网 时间:2024/06/08 03:29
决定开坑模板。
#include<iostream>#include<stdio.h>#include<algorithm>#include<string.h>#include<math.h>#include<vector>#include<map>#include<queue>#include<time.h>#include<fstream>#include<string>#include<set>#include<list>#include<stdlib.h>#define fr(i,a,b) for(int i=a,_end_=b;i<=_end_;i++)#define fd(i,a,b) for(int i=a,_end_=b;i>=_end_;i--)#define frei(s) freopen(s,"r",stdin)#define freo(s) freopen(s,"w",stdout)#define ll long long#define uns unsignedusing namespace std;#define rt return#define gc getchar()#define ln putchar('\n')ll lowbit(ll x){ rt x&(-x);}int read(){ int s=0,k=1; char c=getchar(); while((c<'0'||c>'9')&&c!='-')c=gc; if(c=='-'){ k=-1; c=gc; } while(c>=48&&c<='9'){ s=(s<<3)+(s<<1)+(c^48); c=gc; } rt s*k;}ll readmod(ll p){ ll s=0; int k=1; char c=getchar(); while((c<'0'||c>'9')&&c!='-')c=gc; if(c=='-'){ k=-1; c=gc; } while(c>=48&&c<='9'){ s=(s<<3)+(s<<1)+(c^48); s%=p; c=gc; } rt s*k;}int exgcd(int a,int b,int &x,int &y) { if(b==0) { x=1; y=0; return a; } int d=exgcd(b,a%b,x,y); int temp=x; x=y; y=temp-a/b*y; return d; } double log(double x,double y){ rt log10(x)/log10(y);}ll gcd(ll x,ll y){ rt y?gcd(y,x%y):x;}ll P(ll x,ll y)//x>=y{ ll r=1; fr(i,1,y) r*=(x-i+1); rt r;}ll P(ll x,ll y,ll modnum)//x>=y{ ll r=1; fr(i,1,y) r=r*(x-i+1)%modnum; rt r;}ll power(ll x,ll y,ll p)//x^y%p{ x%=p; y%=p; ll r=1; while(y) { if(y&1)r=r*x%p; y>>=1; x=x*x%p; } rt r;}int n,m,s,g[10010],p[10010],k,minn;vector<int>t[10010];vector<int>w[10010];int main(){#ifndef ONLINE_JUDGE freopen("","r",stdin); freopen("","w",stdout);#endif#define inf 0x7fffffff n=read(); m=read(); s=read(); fr(i,1,m) { int u=read(),v=read(),ww=read(); t[u].push_back(v); w[u].push_back(ww); } fr(i,1,n) g[i]=inf; g[s]=0; k=s; fr(accepted,2,n) { p[k]=1; minn=inf; fr(i,0,t[k].size()-1) g[t[k][i]]=min(g[t[k][i]],g[k]+w[k][i]); fr(i,1,n) if(!p[i]&&g[i]<minn) { k=i; minn=g[i]; } } fr(i,1,n) printf("%d%c",g[i],i==n?'\n':' '); rt 0;}
攒人品ing…
阅读全文
1 0
- dijkstra 模板
- dijkstra 模板
- Dijkstra模板
- dijkstra模板
- dijkstra模板
- Dijkstra模板
- (Dijkstra模板)
- Dijkstra模板
- Dijkstra模板
- Dijkstra 模板
- Dijkstra模板
- dijkstra 模板
- dijkstra模板
- dijkstra模板
- dijkstra模板
- [模板]Dijkstra
- dijkstra 模板
- 模板 Dijkstra
- 2017华为实习生笔试题汇总
- 关于ACL中通配符掩码(反掩码)认识
- 数据压缩实验六 MPEG音频编码实验
- php进程通信
- 复数类:complex c++
- [模板]Dijkstra
- 跟任何人都聊得来---最受世界500强企业欢迎的沟通课(一)
- WXSS
- 【python 走进NLP】NLP WordEmbedding的概念和实现
- python generator产生式
- sessionStorage和localStorage的区别
- LINQ系列:LINQ to SQL Group by/Having分组
- 关于SeekBar的简单介绍
- 系统学习java高并发系列一