dijkstra模板
来源:互联网 发布:java syslog4j 编辑:程序博客网 时间:2024/05/21 02:50
用dijkstra算法时,求最短路,不能存在负权边;求最长路时,不能存在正权边(((贪心思想;
代码:
struct edge{ int to,val,next;}e[maxm];int vis[maxn],head[maxn],in[maxn];ll dis[maxn];int n,m,cnt;void add(int u,int v,int val){ e[cnt] = (edge){v,val,head[u]}; head[u] = cnt++;}priority_queue<pii> pq;void dijkstra(int s){ while(!pq.empty()) pq.pop(); pq.push(make_pair(0,s)); for(int i = 0;i<=n+1;i++) vis[i] = 0; while(!pq.empty()) { pii p = pq.top(); int u = p.second; //cout<<head[u]<<endl; pq.pop(); if(vis[u]) continue; vis[u] = 1; for(int i = head[u];i!=-1;i = e[i].next) { //cout<<i<<endl; int v = e[i].to; if(!vis[v]) { if(dis[v]<dis[u]+e[i].val) { dis[v] = dis[u]+e[i].val; // cout<<dis[v]<<endl; pq.push(make_pair(dis[v],v)); } } } }}
阅读全文
1 0
- dijkstra 模板
- dijkstra 模板
- Dijkstra模板
- dijkstra模板
- dijkstra模板
- Dijkstra模板
- (Dijkstra模板)
- Dijkstra模板
- Dijkstra模板
- Dijkstra 模板
- Dijkstra模板
- dijkstra 模板
- dijkstra模板
- dijkstra模板
- dijkstra模板
- [模板]Dijkstra
- dijkstra 模板
- 模板 Dijkstra
- 一分钟了解"英语表示:矢量场中的正源和负源"
- 队,栈,优先队列的操作
- 在ListView中EditText丢失光标问题
- Android中动画的介绍以及使用
- ArcGIS Runtime for .Net Quartz开发探秘(四):加载本地文件
- dijkstra模板
- input内容改变后,ie11中change事件执行两次的解决办法
- nodejs 3 模块
- 读书笔记-06网站的伸缩架构
- Red Carpet Subscriptions发布2017 v3,适用于Linux和macOS的新版本
- 累
- 条件技术中需求公式的 kobed和kobev的不同之处
- easyui combobox 默认选中第一项
- Mybatis---代码自动生成(generatorConfig.xml配置)