zoukankan      html  css  js  c++  java
  • jQuery火箭图标返回顶部代码

    最近很久没怎么写最短路的题导致这个题交了好多遍

    AC率是怎么下来的自己心里没点数

    SPFA虽然臭名昭著但是他可以用来判负环

    如果一个点进队的次数大于等于n说明存在负环

    这道题一开始memset我给dis赋了零

    在SPFA厨师第一个点的时候根本就忘了还要初始化dis

    菜死了

     

    还有这题变态没让着输出YES或者NO

    他让着输出YE5和N0......虽然我一眼就看出来了但是我还是把E写成了小写的....

     Code:

    //SPFA判断负环
    #include <queue>
    #include <cstdio>
    #include <cstring>
    #include <iostream>
    using namespace std;
    const int N = 250000;
    int head[N << 1], n, m, cnt, tim[N], T, dis[N];
    struct node {
        int nxt, to, w;
    }e[N << 1];
    bool vis[N];
    int read() {
        int s = 0, w = 1;
        char ch = getchar();
        while(!isdigit(ch)) {if(ch == '-') w = -1; ch = getchar();}
        while(isdigit(ch)) {s = s * 10 + ch - '0'; ch = getchar();}
        return s * w;
    }
    void add(int x, int y, int z) {
        e[++cnt].nxt = head[x];
        e[cnt].to = y;
        e[cnt].w = z;
        head[x] = cnt;
    }
    bool  spfa() {
        queue<int> q;
        q.push(1);
        vis[1] = 1;
        dis[1] = 0;
        while(!q.empty()) {
            int u = q.front();
            q.pop();
            vis[u] = 0;
            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;
                    if(!vis[v]) {
                        tim[v]++;
                        q.push(v);
                        vis[v] = 1;
                        if(tim[v] >= n) return 1;
                    } 
                }
            }
        }
        return 0;
    }
    int main() {
        T = read();
        while(T--) {
            memset(vis, 0, sizeof(vis));
            memset(head, 0, sizeof(head));
            memset(tim, 0, sizeof(tim));
            memset(dis, 0x3f3f3f3f, sizeof(dis));
            n = read(), m = read();
            for(int i = 1, x, y, z; i <= m; i++) {
                x = read(), y = read(), z = read();
                if(z < 0) add(x, y, z);
                else add(x, y, z), add(y, x, z);
            }
            if(spfa()) printf("YE5
    ");
            else printf("N0
    ");
        }
        return 0;
    }
  • 相关阅读:
    suse linux编译安装GCC报错
    suse linux 编译安装Apache时报“APR NOT FOUND”的解决方法
    LoadRunner监控Windows和Linux常见问题
    LR报-27727错误解决办法
    主机在virtualbox在NAT方式SSH访问
    清除hao123浏览器劫持小尾巴病毒
    在CentOS上,Servlet出现java.lang.NoClassDefFoundError
    构建第一个SSH的maven项目
    关于Oracle数据库sys用户登入的解惑
    ip route-static 命令的参数
  • 原文地址:https://www.cnblogs.com/yanxiujie/p/11763669.html
Copyright © 2011-2022 走看看