zoukankan      html  css  js  c++  java
  • C++优先队列例子

    #pragma GCC optimize(3)
    #include <bits/stdc++.h>
    #define N 105
    using namespace std;
    struct Node{
        long long x;
        int Max;
        bitset<N> avl,vis;
        friend bool operator < (const Node &l,const Node &r){
            return l.x>r.x;
        }
    };
    int a[N];
    int n,k;
    char s[N];
    priority_queue <Node> S;
    long long ans;
    bitset <N> P[N];
    int main() {
        scanf("%d%d",&n,&k);
        k--;
        if(k==0){
            puts("0");
            return 0;
        }
        for(int i=1;i<=n;i++) scanf("%d",&a[i]);
        for(int i=1;i<=n;i++){
            scanf("%s",s+1);
            for(int j=1;j<=n;j++) if(s[j]=='1')P[i][j]=1;
        }
        for(int i=1;i<=n;i++){
            Node tmp;
            tmp.x=a[i];
            tmp.avl=P[i];
            tmp.vis[i] = 1;
            tmp.Max = i;
            S.push(tmp);
        }
        while(!S.empty()){
            Node u = S.top();
            S.pop();
            ans = u.x;
            k--;
            if(!k){
                printf("%lld
    ",ans);
                return 0;
            }
            for(int j=u.Max+1;j<=n;j++) {
                if (u.avl[j]) {
                    Node v;
                    v.x = u.x + a[j];
                    v.avl = u.avl & P[j];
                    v.vis[j] = 1;
                    v.vis |= u.vis;
                    v.Max = j;
                    S.push(v);
                }
            }
        }
        puts("-1");
        return 0;
    }
  • 相关阅读:
    top 命令
    通过公网访问内网的几种方式总结
    借助IDE到处Runnable JAR 的步骤
    Java SE 基础知识(String,Array)
    Java SE 基础知识(二)
    周记 2014.12.13
    nginx 总结
    在VPS上配置SS
    Markdown 语法手册
    ASCII码表
  • 原文地址:https://www.cnblogs.com/godoforange/p/11225001.html
Copyright © 2011-2022 走看看