zoukankan      html  css  js  c++  java
  • 天梯赛训练1 7-9 集合相似度

    set的经典应用

    刚开始用map标记一个测试点超时了 ┭┮﹏┭┮;

    用set的find 减少了循环提高了效率

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n,m,zhi;
        set<int> se[55];
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&m);
            for(int k=1;k<=m;k++)
            {
                scanf("%d",&zhi);
                se[i].insert(zhi);
            }
        }
        int k,d1,d2;
        scanf("%d",&k);
        for(int i=1;i<=k;i++)
        {
            int sum,num=0;
            scanf("%d%d",&d1,&d2);
            set<int>::iterator it;
            sum=se[d1].size()+se[d2].size();
            for(it=se[d1].begin();it!=se[d1].end();it++)
            {
                if(se[d2].find(*it)!=se[d2].end())
                    num++;
            }
            printf("%.2f% ",num*1.0/(sum-num)*100);
        }
        return 0;
    }

  • 相关阅读:
    oracle查看所有角色
    jQuery 异步提交表单实例解析
    oracle查看用户系统权限
    js中日期操作大全
    oracle 查询用户下所有表
    JS语法字典
    JS定时器例子讲解
    开源软件
    rpm的使用
    lvs+keepalived和haproxy+heartbeat区别
  • 原文地址:https://www.cnblogs.com/qq-1585047819/p/10482818.html
Copyright © 2011-2022 走看看