https://pintia.cn/problem-sets/994805046380707840/problems/994805070149828608

给定两个整数集合,它们的相似度定义为:/。其中N​c​​是两个集合都有的不相等整数的个数,N​t​​是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。

输入格式:

输入第一行给出一个正整数N(≤),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤),是集合中元素的个数;然后跟M个[区间内的整数。

之后一行给出一个正整数K(≤),随后K行,每行对应一对需要计算相似度的集合的编号(集合从1到N编号)。数字间以空格分隔。

输出格式:

对每一对需要计算的集合,在一行中输出它们的相似度,为保留小数点后2位的百分比数字。

输入样例:

3
3 99 87 101
4 87 101 5 87
7 99 101 18 5 135 18 99
2
1 2
1 3

输出样例:

50.00%
33.33%

时间复杂度:$O(N * K * log(M))$

题解:二叉搜索树 用 $set$ 容器

代码:

#include <bits/stdc++.h>
using namespace std;int n;
set<int> u[55];void f(int a,int b) {int same = 0;set<int>::iterator it;for(it = u[a].begin(); it != u[a].end(); it ++){if(u[b].find(*it) != u[b].end())same ++;}int sum = u[a].size() + u[b].size();int cnt = sum - same;printf("%.2lf", same * 1.0 / cnt * 100);cout<<"%"<<endl;
}int main(){scanf("%d", &n);int k;int a;int m;for(int i = 1; i <= n; i ++) {scanf("%d", &k);for(int j = 1; j <= k; j ++) {scanf("%d", &a);u[i].insert(a);}}scanf("%d", &m);int b;for(int i = 1; i <= m; i ++){scanf("%d%d", &a, &b);f(a,b);}
}

  

转载于:https://www.cnblogs.com/zlrrrr/p/9559586.html

PAT L2-005 集合相似度相关推荐

  1. L2-005 集合相似度-PAT团体程序设计天梯赛GPLT

    题目来源:团体程序设计天梯赛-练习集 题目地址:L2-005 集合相似度 题目大意 给定 nnn 个集合,然后有 kkk 次询问,每次询问都要求出 Nc/Nt×100%N_c / N_t \times ...

  2. pat编程语言_浙江大学在线pat题库集合

    [实例简介] 浙江大学在线pat题库集合 [实例截图] [核心代码] dfe822fa-a075-4fde-b840-afc825ee6fc6 └── test ├── 00-自测2. 素数对猜想 ( ...

  3. L2-005 集合相似度 (25分)

    L2-005 集合相似度 (25分) 给定两个整数集合,它们的相似度定义为:N​c/N​t​​ ×100%.其中N​c 是两个集合都有的不相等整数的个数,N​t是两个集合一共有的不相等整数的个数.你的 ...

  4. 7-9 集合相似度 (25 分)(交集/并集)

    7-9 集合相似度 (25 分) 给定两个整数集合,它们的相似度定义为:Nc​/Nt​×100%.其中Nc​是两个集合都有的不相等整数的个数,Nt​是两个集合一共有的不相等整数的个数.你的任务就是计算 ...

  5. 【CCCC】L2-005 集合相似度 (25分),维护set数组去重,比较统计

    problem L2-005 集合相似度 (25分) 给定两个整数集合,它们的相似度定义为:N ​c ​​ /N ​t ​​ ×100%.其中N ​c ​​ 是两个集合都有的不相等整数的个数,N ​t ...

  6. L2-005 集合相似度(STL)

    题目链接:L2-005 集合相似度 考查知识:STL 题意描述: 给定两个整数集合,它们的相似度定义为:两个集合都有的不相等整数的个数 比上 两个集合一共有的不相等整数的个数. 计算任意一对给定集合的 ...

  7. 7-9 集合相似度 (25分)

    7-9 集合相似度 (25分) 给定两个整数集合,它们的相似度定义为:N ​c ​​ /N ​t ​​ ×100%.其中N ​c ​​ 是两个集合都有的不相等整数的个数,N ​t ​​ 是两个集合一共 ...

  8. 7-10 集合相似度 (25分)

    超时代码 // // Created by HMN on 2020/1/27. // /*7-10 集合相似度 (25分) 给定两个整数集合,它们的相似度定义为:N ​c ​​ /N ​t ​​ ×1 ...

  9. 天梯赛---7-6 集合相似度 (25分)

    7-6 集合相似度 (25分) 给定两个整数集合,它们的相似度定义为:N​c​​/N​t​​×100%.其中N​c​​是两个集合都有的不相等整数的个数,N​t​​是两个集合一共有的不相等整数的个数.你 ...

  10. 数据结构查找-7-4 集合相似度 (25 分)

    7-4 集合相似度 (25 分) 给定两个整数集合,它们的相似度定义为:Nc​/Nt​×100%.其中Nc​是两个集合都有的不相等整数的个数,Nt​是两个集合一共有的不相等整数的个数.你的任务就是计算 ...

最新文章

  1. centos 7 lvs 负载均衡搭建部署
  2. verilog编译指令
  3. python【蓝桥杯vip练习题库】BASIC-19完美的代价(贪心算法)
  4. Looping over the databases on a server
  5. 离散信号经过FFT处理后,幅度,相位,功率的计算
  6. EndNote使用技巧之一--参考文献的导入
  7. redis源码分析 ppt_【Redis】redis各类型数据结构和底层实现源码分析
  8. 怎样配置mysql数据源_mysql怎样配置ODBC数据源
  9. 【华为云技术分享】云小课 | 购买的数据盘在服务器看不到?磁盘初始化很重要!
  10. Oracle checkpoint 说明
  11. Linux学习笔记之权限与命令之间的关系(重要)及文件与目录知识总结
  12. cad插件_抖音最火CAD插件教程汇总
  13. 一款完整开源的物联网基础平台
  14. 线性代数 抽象非齐次方程解的问题
  15. Blast 几种方法的具体用法以及含义
  16. 大家注意了,猪八戒网上有个骗子
  17. 强烈推荐 10 款 Mac 软件!
  18. DMOZ网站选择标准(转)
  19. mac修改服务器身份,Mac 基础教程:如何打开身份不明开发者的应用程序
  20. 服务器主板电源适配器维修,联想电源适配器坏了怎么办 联想电源适配器维修方法...

热门文章

  1. 显示浏览器窗口的高度和宽度
  2. [LeetCode]--5. Longest Palindromic Substring
  3. Xcode(7.0以上版本)真机调试
  4. mysql dba系统学习(10)innodb引擎的redo log日志的原理
  5. SAP System Copy Guide, ECC 6.0, Oracle
  6. WWDC 2018 New Localization Workflows
  7. 25.怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块
  8. 十亿级视频播放技术优化揭密
  9. Go 语言读写 Excel
  10. jQuery 获取屏幕高度、宽度