zoukankan      html  css  js  c++  java
  • 堆与并查集。洛谷P3378&P3367

    晚上A了一堆板子题
    我太弱了!
    堆:洛谷P3378
    AC代码:(STL

    // luogu-judger-enable-o2
    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #include<string>
    #include<map>
    #include<set>
    #include<queue>
    #define INF 0x3f3f3f3f
    #define inf 0x3f
    #define ll long long
    using namespace std;
    priority_queue<int,vector<int>,greater<int> > q;
    int a,n,sum,qwq;
    int main(){
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>a;
            if(a==1){
                cin>>sum;
                q.push(sum);
            }
            if(a==2){
                qwq=q.top();
                cout<<qwq<<endl; 
            }
            if(a==3) q.pop(); 
        }
        return 0;

    开氧气跑得很快。
    并查集:P3367
    使用路径压缩。

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #include<string>
    #include<map>
    #include<set>
    #include<queue>
    #define INF 0x3f3f3f3f
    #define inf 0x3f
    #define ll long long
    using namespace std;
    int fa[10001],n,m,z,x,y;
    inline void clear(){
        for(int i=1;i<=n;i++) fa[i]=i; 
    }
    int find(int x){
        if(fa[x]==x) return x;
        return fa[x]=find(fa[x]);
    }
    int merge(int x,int y){
        int xx=find(x);
        int yy=find(y);
        if(xx==yy) return 0;
        fa[xx]=yy;
        return 1;
    }
    int main(){
        cin>>n>>m;
        clear();
    
        for(int i=1;i<=m;i++){
            cin>>z>>x>>y;
            if(z==1) merge(x,y);
            if(z==2) {
                if(find(x)==find(y)) cout<<"Y"<<endl;
                else cout<<"N"<<endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    3、Spring Cloud Rest工程创建(通过IDEA创建)
    Centos7配置阿里epel源|yum源
    OSI七层模型:TCP/IP && HTTP && WebSocket && MQTT
    几种进程间的通信方式
    Tomcat类加载机制
    JAVA类加载器
    Spring事务隔离级别
    Spring事务传播特性
    Spring事务实现原理
    RPC框架Dubbo分析
  • 原文地址:https://www.cnblogs.com/kenlig/p/9445831.html
Copyright © 2011-2022 走看看