#include <vector>
#include <cmath>
#include <cstdio>
#include <queue>
#include <cstring>
#include <iostream>
using namespace std;
#define N 100010
#define LL long long
#define inf 0x7f7f7f7f
#define mem(a,n) memset(a,n,sizeof(a))
int read()
{
int num=0,flag=1;char c;
while((c=getchar())<'0'||c>'9') if(c=='-') flag=-1;
while(c>='0'&&c<='9') { num=num*10+c-48; c=getchar();}
return num*flag;
}
struct node{
int v,w;
node(){}
node(int V,int W){v=V;w=W;}
bool operator < (const node &rhs) const {
return rhs.w>w;
}
};
int dis[N],n,m,a[N],s,vis[N],t;
vector<node> G[N];
void dijkstra() {
for(int i=1;i<=n;i++)
dis[i]=inf;
dis[s]=0;
priority_queue<node> q;
q.push( node(s,0) );
while(!q.empty()) {
node x=q.top();q
C++单源点最短路——dijkstra的堆优化模板(包看包懂)
最新推荐文章于 2024-07-25 16:35:50 发布
本文详细介绍了使用C++实现Dijkstra算法的堆优化模板,通过实例解析帮助理解算法过程,确保一看即懂。
摘要由CSDN通过智能技术生成