news 2026/3/30 17:50:55

小明爱集合

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小明爱集合

题目描述

最近小明又喜欢上了集合,于是他提出了很多有关集合的问题,其中的一个问题是给你两个集合(集合内部没有重复的元素),让你求集合的相似度是多少,集合的相似度定义如下:
2个集合的相似度 = 相同元素的个数/(相同元素个数+不同元素个数)
聪明的你可以帮助小明解决这个问题吗?
输入格式
题目含有多组数据,第一行一个数T,表示数据的组数;
对于每组数据:
第一行包括两个数n,m,分别表示两个集合元素的个数(1<=n,m<100000);
第二行n个数表示前一集合的n个数,以空格隔开;
第三行m个数表示后一集合的m个数,以空格隔开;
其中对于两集合中任意数ai,有。​
输出格式
对于每组数据,输出两个集合的相似度,输出结果乘100 后取整数部分。

样例

【样例输入】
2
2 3
1 2
2 3 4
3 3
5 3 4
3 4 1
【样例输出】
25
50
数据范围与提示
对于10%的数据,1 <= T <= 2, n,m<= 4
对于50%的数据,1 <= T<= 4,n,m<= 1024
对于100%的数据,1 <= T<=10, n,m<= 100000

一些想法

这道题用 set 做非常简单,因为 set 是可以自动去重的,那输入两个数组的数时可以直接放入 set 中,它会自动去重,也就是将两个数组相同的数直接去掉。然后 sum 等于两个数组的数个数总和减去 set 中数的个数(去重去了几个数,也就是两个集合中重复元素的数量)。然后最终答案等于(要 double 类型的,因为答案是小数点乘100,要先等于小数)double 类型的 sum 除以 set 的长度,这里可以理解为重复元素数量在并集元素数量中的占比,最后输出 int 类型的答案乘 100 ,换行。最后要清空 set ,否则有多组数据时,后面的会答案错误。
注:
输出答案转换类型时要 (int)(ss*100),不能(int) ss*100,否则会先转换 ss 的类型,从而导致精确度丢失。别问我是怎么知道的
用一个别的数先储存 set 的长度减少写代码时的麻烦也是可以的!

AC代码

#include<bits/stdc++.h> using namespace std; int t; set<int> s; int main(){ cin>>t; while(t--){ int n,m,sum=0; cin>>n>>m; for(int i=1;i<=n;i++){ int x; cin>>x; s.insert(x); } for(int i=1;i<=m;i++){ int x; cin>>x; s.insert(x); } sum=n+m-s.size(); double ss=(double)sum/s.size(); cout<<(int)(ss*100)<<endl; s.clear(); } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/24 16:50:36

基于深度学习的石油泄漏检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 项目背景: 石油泄漏是环境监测和工业安全中的重要问题&#xff0c;可能对生态系统、人类健康和经济造成严重影响。传统的石油泄漏检测方法通常依赖于人工巡检或传感器监测&#xff0c;效率较低且难以覆盖大面积区域。基于深度学习的目标检测技术能够自动、高效地…

作者头像 李华
网站建设 2026/3/28 0:38:11

研究生必备:6款AI论文生成器实测,提升学术原创性轻松过查重!

如果你是凌晨3点还在凑论文字数的研究生... 是不是每次打开Word都盯着空白页发呆&#xff1f;是不是导师的红笔批注让你一头雾水&#xff08;“逻辑混乱”“缺乏数据支撑”“引用格式错误”&#xff09;&#xff1f;是不是知网查重一次就要花掉半个月的奶茶钱&#xff0c;结果…

作者头像 李华
网站建设 2026/3/28 20:41:51

kanass全面介绍(18) - 如何通过仪表盘,快速直观掌握项目进度及度量

kanass是一款国产开源免费、简洁易用的项目管理工具。不仅具有项目、项目集、迭代、事项等管理功能&#xff0c;还有丰富的图表&#xff0c;用不同的维度展示数据&#xff0c;直观的看出项目等模块进度。1、默认仪表盘1.1 事项统计在系统首页的事项统计区域&#xff0c;放置了事…

作者头像 李华
网站建设 2026/3/30 10:53:45

Samba as Wins Server

自己做的小小實驗 希望能跨網段透過netbios存取同一工作群組下的電腦 Q1 : 同一工作群組在網路芳鄰重新整理會直接出現 還是要連線後才會出現? 用Samba 當作wins server Alpine Linux 安裝samba apk add samba編輯 /etc/samba/smb.conf vi /etc/samba/smb.conf將 wins supp…

作者头像 李华
网站建设 2026/3/25 13:15:01

电子会计档案管理系统:档案宝如何发挥会计档案的价值?

一、引言&#xff1a;电子会计档案时代&#xff0c;档案宝的价值定位在数字化转型浪潮下&#xff0c;会计档案已从传统纸质存储的 “历史凭证”&#xff0c;转变为企业决策的 “数据资产”。电子会计档案管理系统 “档案宝”&#xff0c;打破了传统档案管理的时空限制与效率瓶颈…

作者头像 李华