• hiho147周


    题目链接

    n个5维数,对于每个数,输出小于他的数的个数(每个维度都比他小);

    #include <cstdio>
    #include <cstring>
    #include <bitset>
    #include <vector>
    #include <algorithm>
    using namespace std;
    const int N = 33333;
    struct Node{
        int id;
        int a,b,c,d,e;
        static bool sortByA(const Node &x,const Node &y){
            return x.a<y.a;
        }
        static bool sortByB(const Node &x,const Node &y){
            return x.b<y.b;
        }
        static bool sortByC(const Node &x,const Node &y){
            return x.c<y.c;
        }
        static bool sortByD(const Node &x,const Node &y){
            return x.d<y.d;
        }
        static bool sortByE(const Node &x,const Node &y){
            return x.e<y.e;
        }
    };
    vector<Node> data[5];
    bitset<N> bs[N][5];
    int n;
    int main(){
        for(int i=0;i<5;i++) data[i].resize(N);
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            Node tmp;
            scanf("%d%d%d%d%d",&tmp.a,&tmp.b,&tmp.c,&tmp.d,&tmp.e);
            tmp.id = i;
            for(int j=0;j<5;j++)
                data[j][i] = tmp;
        }
        std::sort(data[0].begin(),data[0].begin()+n,Node::sortByA);
        std::sort(data[1].begin(),data[1].begin()+n,Node::sortByB);
        std::sort(data[2].begin(),data[2].begin()+n,Node::sortByC);
        std::sort(data[3].begin(),data[3].begin()+n,Node::sortByD);
        std::sort(data[4].begin(),data[4].begin()+n,Node::sortByE);
        for(int j=0;j<5;j++){
            bitset<N> curstate;
            curstate.set(data[j][0].id);
            for(int i=1;i<n;i++) {
                int curId = data[j][i].id;
                bs[curId][j]|=curstate;
                curstate.set(curId);
            }
        }
        for(int i=0;i<n;i++){
            for(int j=1;j<5;j++) bs[i][0]&=(bs[i][j]);
            printf("%d
    ",bs[i][0].count());
        }
        return 0;
    }
  • 相关阅读:
    Linux统计文件夹下所有文件的数量
    Linux查看文件最后几行的命令
    linux export将PATH环境变量误删了的解决办法
    laravel提示Mcrypt PHP extension required
    php(cli模式)执行文件传递参数
    shell判断文件是否存在,不存在则创建
    php获取Linux网卡信息
    使用iptraf,ifstat查看网络流量
    作用域
    头文件,库文件,重复包含
  • 原文地址:https://www.cnblogs.com/redips-l/p/6750381.html
Copyright © 2020-2023  润新知