【模板】K短路
来源:互联网 发布:三天打鱼两天晒网c语言 编辑:程序博客网 时间:2024/05/29 17:17
A* + dij
#include <iostream>#include <cstdio>#include <cstring>#include <queue>#include <algorithm>using namespace std;const int MAXN = 200005;int first[MAXN],next[MAXN],tot = 0;int n,m,s,t,K,f,t,v;int h[MAXN],dis[MAXN];bool use[MAXN];struct edge{ int f,t,v;}l[MAXN];struct zt{ int u,v; bool operator < (const int &b) const { return v + h[u] > b.v + h[b.u]; }};void build(int f,int t,int v){ l[++ tot] = (edge){f,t,v}; next[tot] = first[f]; first[f] = tot; return;}priority_queue < zt > q;void dij(int s){ memset(dis,0x3f,sizeof(dis)); dis[s] = 0;q.push((zt){s,0}); while(!q.empty()) { zt x = q.top(); p.pop(); int u = x.u; for(int i = first[u]; i != -1; i = next[i]) { int w = l[i].t; if(dis[w] > dis[u] + l[i].v) { dis[w] = dis[u] + l[i].v; q.push((zt){w,dis[w]}); } } } return;}int dij_k(int s,int e,int k){ if(s == e) k ++; q.push((zt){s,0}); while(!q.empty()) { zt x = q.top(); int u = x.u; q.pop(); if(u == e) { k --; if(k == 0) return x.v; } for(int i = first[u]; i != -1; i = next[i]) { int w = l[i].t; int c = x.v + l[i].v; q.push((zt){w,c}); } } return -1;}
0 0
- K短路【模板】
- K短路【模板】
- 【模板】K短路
- poj 2449 k短路模板
- poj 2449 k短路--模板
- poj2449 K短路模板题
- 第k短路算法模板
- K短路问题模板(spfa+A*)
- K短路模板题目, A*, POJ2449
- K短路及其模板(A*+Dijkstra)
- POJ2449 Remmarguts' Date 非严格K短路模板题
- poj2449 Remmarguts' Date --- k短路模板(SPFA+A*)
- POJ 2449 A* 求 k 短路 模板题
- POJ 2447 Remmarguts' Date【k短路 SPFA+A* 模板题】
- 【模板】POJ 2449 K短路(A*+dijkstra)
- bzoj1598[Usaco2008 Mar]牛跑步 K短路模板 spfa+dij
- <A*算法模板>poj 2449 第k短路
- (poj 2449 Remmarguts' Date)<A*-K短路模板>
- 不占用windows用户对象的定时器
- Mysql笔记+sql语句
- UVA 1471 Defense Lines 单调队列 -
- Spring配置文中解析xsd文件版本
- LWIP[转]为什么ping时间会越来越长
- 【模板】K短路
- apache下用expires_module让浏览器缓存静态文件
- LWIP[转]LwIP BUG之ARP缓存
- session运行机制
- 离散时间系统的相位响应
- Session与Cookie的运行机制
- js 数组
- 描述session的运行机制和工作原理
- 2017华为校招粤港澳广州场it应用软件开发(java)面经