• UVALIVE 3939 Plucking fruits


    并查集解决。代码跑的有够慢。应该可以通过边权排序优化。

    #include <map>
    #include <set>
    #include <list>
    #include <cmath>
    #include <ctime>
    #include <deque>
    #include <stack>
    #include <queue>
    #include <cctype>
    #include <cstdio>
    #include <string>
    #include <vector>
    #include <climits>
    #include <cstdlib>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #define LL long long
    #define PI 3.1415926535897932626
    using namespace std;
    int gcd(int a, int b) {return a % b == 0 ? b : gcd(b, a % b);}
    #define MAXN 1010
    int p[MAXN];
    int Find(int x) {return x == p[x] ? x : p[x] = Find(p[x]);}
    int N,M,R;
    struct node
    {
            int u,v,w;
            friend bool operator < (const node &a,const node &b)
            {
                    return a.w < b.w;
            }
    }src[MAXN * MAXN];
    bool judge(int s,int t)
    {
            int x =Find(s);
            int y = Find(t);
            if (x == y) return true;
            return false;
    }
    bool query(int s,int t,int least)
    {
            for (int i = 0 ; i < M ; i++)
            {
                    if (src[i].w < least) continue;
                    int x = Find(src[i].u), y = Find(src[i].v);
                    if (x != y) p[x] = y;
                    if (judge(s,t))
                    {
                            return true;
                    }
            }
            return false;
    }
    int main()
    {
         int kase = 1;
         while (cin >> N >> M >> R)
         {
                 cout << "Case " << kase++  << ':' << endl;
                 for (int i = 0 ; i < M ;i++)
                    cin >> src[i].u >> src[i].v >> src[i].w;
                 for (int i = 0 ; i < R; i++)
                 {
                         int u ,v,w;
                         for (int i = 0 ;i <= N ; i++) p[i] = i;
                         cin >> u >> v  >> w;
                         if (query(u,v,w)) puts("yes");
                         else puts("no");
                 }
         }
         return 0;
    }
  • 相关阅读:
    Serveral effective linux commands
    Amber learning note A8: Loop Dynamics of the HIV-1 Integrase Core Domain
    amber初学……
    anaconda使用
    python中的一些语法
    python中的OOP
    python中的模块
    将python程序打包成exe
    python-执行过程
    python基础
  • 原文地址:https://www.cnblogs.com/Commence/p/4053261.html
Copyright © 2020-2023  润新知