zoukankan      html  css  js  c++  java
  • 103.电影

    原题链接:103. 电影



    解题思路

    虽然语言的范围在int以内,但是这m部电影与n个人最多涉及 2(m+n) 种语言。我们把所有电影和人涉及的语言放进一个数组,排序并离散化,用一个 1~2(m+n) 之间的整数代替每种语言。此时我们就可以利用数组直接统计会上述每种语言的人的数量,从而选择满足题目要求的电影。时间复杂度为 O((n+m)log(n+m))

    样例代码

    #include<bits/stdc++.h>
    using namespace std;
    #define N 200010
    map<int ,int> s;
    int a[N];
    int b[N];
    struct zz 
    {
        int a;
        int b;
    }p[N];
    int main()
    {
        int n,m,i,j,k;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
            s[a[i]]++;
        }
        scanf("%d",&m);
        for(i=1;i<=m;i++)
            scanf("%d",&p[i].a);
        for(i=1;i<=m;i++)
            scanf("%d",&p[i].b);
        int mm=0;
        k=1;
        for(i=1;i<=m;i++)
        {
            if(mm<s[p[i].a])
            {
                mm=s[p[i].a];
                k=i;
            }
        }
        int kk=0;
        for(i=1;i<=m;i++)
        {
            if(s[p[i].a]==mm)
            {
                if(kk<s[p[i].b])
                {
                    kk=s[p[i].b];
                    k=i;
                }
            }
        }
        printf("%d
    ",k);
        return 0;
    }
    
  • 相关阅读:
    TOMCAT添加管理用户认证
    NGINX配置详解及应用
    Zabbix部署
    NGINX+TOMCAT实现反向代理
    数据库-高级部分
    数据库-用户管理与pymysql
    数据库-表操作(CRUD)
    数据库-表关系练习
    数据库-表关系
    数据库-基础概念
  • 原文地址:https://www.cnblogs.com/hnkjdx-ssf/p/14201953.html
Copyright © 2011-2022 走看看