• set的经典应用


    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;
    }

  • 相关阅读:
    MySQL 多会话之间更新数据的小实例
    MySQL Profile
    MySQL Explain
    MySQL 索引
    利用网站上传漏洞使用一句话木马控制服务器
    kali之nmap
    kali之使用sqlmap进行sql注入
    kali之DVWA
    Kali安装nessus
    openvas
  • 原文地址:https://www.cnblogs.com/qq-1585047819/p/10482841.html
Copyright © 2020-2023  润新知