图论

板子集合
 1 #include<bits/stdc++.h>
 2 #define qmin(x,y) (x=min(x,y))
 3 #define qmax(x,y) (x=max(x,y))
 4 #define vi vector<int>
 5 #define vit vector<int>::iterator
 6 #define pir pair<int,int>
 7 #define fr first
 8 #define sc second
 9 #define mp(x,y) make_pair(x,y)
10 #define rsort(x,y) sort(x,y),reverse(x,y)
11 using namespace std;
12 
13 typedef long long ll;
14 const int Maxn=110000;
15 const int inf=0x3f3f3f3f;
16 
17 int to[Maxn],nxt[Maxn],first[Maxn],w[Maxn],tot=1;
18 int dis[Maxn];
19 
20 inline void add(int u,int v,int wi) {
21     to[tot]=v;
22     nxt[tot]=first[u];
23     w[tot]=1;
24     first[u]=tot++;
25 }
26 
27 void dijk(int s) {
28     priority_queue<pir> q;
29     memset(dis,0x3f,sizeof(dis));
30     q.push(mp(dis[s]=0,s));
31     while(!q.empty()) {
32         pir now=q.top();q.pop();
33         if(now.fr!=dis[now.sc]) continue;
34         for(int i=first[now.sc];i;i=nxt[i])
35             if(dis[to[i]]>now.fr+w[i]) {
36                 dis[to[i]]=now.fr+w[i];
37                 q.push(mp(dis[to[i]],to[i]));
38             }
39     }
40 }
41 
42 int main() {
43     return 0;
44 }
dijkstra

相关文章:

  • 2022-01-12
  • 2022-12-23
  • 2022-03-02
  • 2022-12-23
  • 2021-09-13
  • 2021-08-16
  • 2022-01-03
  • 2021-04-06
猜你喜欢
  • 2021-11-12
  • 2022-01-05
  • 2022-02-10
  • 2021-12-27
  • 2021-08-16
  • 2022-12-23
相关资源
相似解决方案