zoukankan      html  css  js  c++  java
  • floyed dij spfa 模板

     1 /*
     2    SPFA模板 
     3 */
     4 const int inf=0x3f3f3f3f;
     5 inline int SPFA(int s){
     6     memset(dis,inf,sizeof(dis));
     7     queue<int > q;
     8     dis[s]=0;
     9     q.push(s);
    10     vis[s]=1;
    11     while(!q.empty()){
    12         int u=q.front;
    13         q.pop();
    14         vis[u]=0;
    15         for(int i=head[u];i;i=edge[i].next ){
    16             int v=edge[i].to ;
    17             if(dis[v]>dis[u]+edge[i].value ){
    18                 dis[v]=dis[u]+edge[i].value ;
    19                 if(!vis[v]){
    20                     vis[v]=1;
    21                     q.push(v);
    22                 }
    23                 cntt[v]++;
    24                 if(cntt[v]>=n) return 0;
    25             }
    26         }
    27     }
    28     return 1;
    29 } 
    /*
        dijstra模板 (堆优化)
    */
    const int inf=0x3f3f3f3f;
    typedef pair<int ,int > p
    inline void dijstra(int s){
        memset(dis,inf,sizeof(dis))
        priority_queue<p,vector<p>,greater<p> > q;
        dis[s]=0;
        q.push(make_pair(0,s));//pair类型默认先比较第一项
        while(!q.empty()){
            int u=q.top().second;
            int w=q.top().first;
            q.pop();
            if(dis[u]!=w) continue;
            for(int i=head[u];i;i=edge[i].next ){
                int v=edge[i].to ;
                if(dis[v]>dis[u]+edge[i].value ){
                    dis[v]=dis[u]+edge[i].value ;
                    q.push(make_pair(dis[v],v));
                }
            }
        }
    } 
     1 /*
     2     floyd模板 
     3 */
     4 inline void floyd(){
     5     for(int k=1;k<=n;k++)
     6      for(int i=1;i<=n;i++)
     7       for(int j=1;j<=n;j++){
     8           dis[i][j]=min(dis[i][k]+dis[k][j],dis[i][j]); 
     9         //或者:
    10         if(dis[i][j]>dis[i][k]+dis[k][j])
    11           dis[i][j]=dis[i][k]+dis[k][j]; 
    12       }
    13 }
  • 相关阅读:
    入门OJ 4187【周末舞会】
    入门OJ 1532【排队取款】
    洛谷 P3029 [USACO11NOV]【牛的阵容Cow Lineup】
    洛谷 P1638【逛画展】
    入门OJ 1256【排队】
    PKU 1945【Power Hungry Cows】
    RocketMQ重试机制和消息
    Java操作RocketMQ
    RocketMQ概述
    重定向机制
  • 原文地址:https://www.cnblogs.com/nvwang123/p/10776670.html
Copyright © 2011-2022 走看看