• luogu P4568 [JLOI2011]飞行路线


    一道分层最短路

    看看代码就懂分层最短路什么意思了

    qq姐给我讲的w

    不记得是gg多久前布置的题了

    反正

    很久不打代码

    手指似乎都不会用了

    好僵硬啊。。。

    #include<cstdio>
    #include<queue>
    #define sev en
    using namespace std;
    #define INF 2147483647
    #define N 10000010
    
    priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> > >q;
    struct EDGE{
        int nxt,to,w;
    }e[N];
    int head[N],vis[N],dis[N],cnt;
    
    void add(int x,int y,int z) {
        e[++cnt].to = y;
        e[cnt].w = z;
        e[cnt].nxt = head[x];
        head[x] = cnt;
    }
    
    int main() {
        int n,m,k;
        scanf("%d%d%d",&n,&m,&k);
        int s,t;
        scanf("%d%d",&s,&t);
        for(int i = 1; i <= m; i++) {
            int a,b,c;
            scanf("%d%d%d",&a,&b,&c);
            add(a,b,c);
            add(b,a,c);
            for(int j = 1; j <= k; j++) {
                add(a + j * n,b + j * n,c);
                add(b + j * n,a + j * n,c);
                add(a + (j - 1) * n,b + j * n,0);
                add(b + (j - 1) * n,a + j * n,0);
            }
        }
        for(int i = 0; i <= n; i++)
            for(int j = 0; j <= k; j++)
                dis[i + j * n] = INF;
        dis[s] = 0;
        q.push(make_pair(0,s));
        while(!q.empty()) {
            int u = q.top().second;
            q.pop();
            if(vis[u])
                continue;
            vis[u] = 1;
            for(int i = head[u]; i; i = e[i].nxt) {
                int v = e[i].to;
                if(dis[v] > dis[u] + e[i].w) {
                    dis[v] = dis[u] + e[i].w;
                    q.push(make_pair(dis[v],v));
                }
            }
        }
        int ans = INF;
        for(int i = 0; i <= k; i++)
            ans = min(ans,dis[t + i * n]);
        printf("%d",ans);
        return 0;
    }
    多倍经验提示

    不知道该感慨些什么

    总是听歌听得很丧

    总是对自己很失望

    总是觉得无可爱

    为什么总有告诉他我喜欢他的冲动呢

  • 相关阅读:
    参数探测(Parameter Sniffing)与影响计划重用的SET选项
    The workbook can not be opened
    参数Sniffing问题
    Unable to connect SQL Server
    正则|和[]的区别
    form的target捕捉不到动态写入name的iframe
    windows下git bash乱码问题
    ie6,7下textarea等上方空白
    根据字数截取字符串,不能截断url
    浏览器hack
  • 原文地址:https://www.cnblogs.com/sevenyuanluo/p/10926589.html
Copyright © 2020-2023  润新知