当前位置: 首页 > news >正文

小明爱集合

题目描述

最近小明又喜欢上了集合,于是他提出了很多有关集合的问题,其中的一个问题是给你两个集合(集合内部没有重复的元素),让你求集合的相似度是多少,集合的相似度定义如下:
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; }
http://www.cnnetsun.cn/news/138465.html

相关文章:

  • 基于深度学习的交通标志检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 基于深度学习的大豆检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 基于深度学习的苹果腐烂检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 基于深度学习的食物检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 基于深度学习的数字识别检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • STM32定时器定时中断
  • 打破离散制造“内卷”:工业智能体(AI Agent)落地的五大核心原则
  • C语言 操作符 关系操作符 笔记
  • 2025年战略咨询在行业标准演进中的推动力
  • 【电商API接口】电商平台价格监控行业全景:数据驱动的定价革命
  • java计算机毕业设计蔬菜配送系统 生鲜直配平台的设计与实现 社区蔬菜一站式采购与配送管理系统
  • dubbo源码之一次RPC请求的生死之旅(基于Dubbo 2.7.8)
  • 基于SpringBoot+Vue的web城乡居民基本医疗信息管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • 【完整源码+数据集+部署教程】手势与标志识别检测系统源码[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]
  • 03.统计学机器学习
  • [Poi2011]Lightning Conductor题解
  • 一文读懂大模型:收藏级教程,助你从入门到精通
  • Nginx云计算大数据——安装AND版本升级(普通升级+平滑升级+失败回滚)
  • GPT-5.2 实测数据流出:逻辑推理性能翻倍,大模型“幻觉”真的被终结了吗?
  • SQL SERVER——通过计划任务方式每月对配置数据、审计数据等进行备份
  • 前端——跨平台桌面应用开发实践
  • OpenAI 的反击!GPT-5.2 强行拉开代差,Gemini 3 和 Claude 4 还有机会吗?
  • 零售打工人加薪难?靠这张证,我在激烈竞争里站稳了脚跟
  • 基于springboot的多媒体素材库的开发与应用毕业论文+PPT(附源代码+演示视频)
  • 从离线语音到多模态智能体四博智联 AI 硬件整体解决方案全景解析
  • 我发现跨医院联合训练让诊断准确率飙升后来才知道是横向联邦学习在数据孤岛中的绝招
  • 性能压测工具:wrk
  • 论文引用标注工具排名2025:6大平台+自动规范推荐
  • Kotaemon AWS EC2部署实例:国际业务首选
  • 实在没货,简历(软件测试)咋写?