L2-005. 集合相似度

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
陈越

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

输入格式:

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

之后一行给出一个正整数K(<=2000),随后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%

提交代码

#include <cstdio>
#include <algorithm>
#include <iostream>
#include <set>
#include<cstdio>
using namespace std; int main()
{
int n, m, k, a, l, r;
set<int> s[];
scanf("%d", &n) ;
for(int i=; i<n; i++)
{
scanf("%d", &m);
for(int j=; j<m; j++)
{
cin >> a;
s[i].insert(a);
}
}
set<int>::iterator it;
cin >> k;
int co;
while(k--)
{
cin >> l >> r;
l--;
r--;
co = ;
for(it=s[l].begin(); it!=s[l].end(); it++ )
{
if(s[r].count((*it)))
co++;
}
/*if(s[r].count(*(s[l].end()))) //按理要写,但写了说我越界
co++; */
printf("%.2lf%%\n", (double)co/(double)(s[l].size() + s[r].size() - co)*);
} return ;
}

其他要求

#include <bits/stdc++.h>  

using namespace std;
const int MAXN=1e5+;
int n,m,k;
int l[];
int num[][];
int ans[];
int main()
{
scanf("%d",&n);
for(int i=;i<n;++i)
{
scanf("%d",&l[i]);
for(int j=;j<l[i];++j)scanf("%d",&num[i][j]);
sort(num[i],num[i]+l[i]);
l[i]=unique(num[i],num[i]+l[i])-num[i];
}
int u,v;
scanf("%d",&m);
while(m--)
{
scanf("%d%d",&u,&v);
u--;
v--;
int cnt=;
for(int i=;i<l[u];++i)ans[cnt++]=num[u][i];
for(int i=;i<l[v];++i)ans[cnt++]=num[v][i];
sort(ans,ans+cnt);
int cnt1=unique(ans,ans+cnt)-ans;
printf("%.2f%%\n",(cnt-cnt1)*100.0/cnt1);
}
return ;
}

L2-005. 集合相似度(set使用)的更多相关文章

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

    L2-005. 集合相似度 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定两个整数集合,它们的相似度定义为:Nc/Nt*1 ...

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

    L2-005. 集合相似度 参考博客 #include<cstdio> #include<set> #include<cstdlib> using namespac ...

  3. pat 集合相似度

    L2-005. 集合相似度 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定两个整数集合,它们的相似度定义为:Nc/Nt*1 ...

  4. 天梯杯 L2-005. 集合相似度

    L2-005. 集合相似度 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定两个整数集合,它们的相似度定义为:Nc/Nt*1 ...

  5. PTA 7-9 集合相似度(STL之set初体验)

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

  6. L2-005 集合相似度 (25 分) (STL——set)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805070149828608 题目: 给定两个整数集合,它们的相似度 ...

  7. PAT L2-005 集合相似度(模拟集合set)

    给定两个整数集合,它们的相似度定义为:Nc/Nt*100%.其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数.你的任务就是计算任意一对给定集合的相似度. 输入格式: 输 ...

  8. 天梯赛 L2-005 集合相似度 (set容器)

    给定两个整数集合,它们的相似度定义为:Nc/Nt*100%.其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数.你的任务就是计算任意一对给定集合的相似度. 输入格式: 输 ...

  9. PAT L2-005 集合相似度

    https://pintia.cn/problem-sets/994805046380707840/problems/994805070149828608 给定两个整数集合,它们的相似度定义为:/.其 ...

随机推荐

  1. java Web 文件上传

    注意:请求实体过大的问题,请修改Nginx服务器的大小(百度参考413 Request Entity Too Large 的解决方法)jsp:<input type="file&quo ...

  2. Maven配置一键部署远程Tomcat

    1. 首先需要配置远程Tomcat的访问权限(设置访问用户名密码) http://www.cnblogs.com/liuchao102/p/5519345.html 2. 配置pom.xml 添加to ...

  3. tomcat 日志禁用

    1.禁用catalina.out日志通过修改catalina.sh配置可以控制tomcat不生成该文件只要将if [ -z "$CATALINA_OUT" ] ; then CAT ...

  4. Elasticsearch6.0简介入门介绍

    Elasticsearch简单介绍 Elasticsearch (ES)是一个基于Lucene构建的开源.分布式.RESTful 接口全文搜索引擎.Elasticsearch 还是一个分布式文档数据库 ...

  5. 操作文件和目录【TLCL】

    cp – Copy files and directories mv – Move/rename files and directories mkdir – Create directories rm ...

  6. Spark基本概念快速入门

      Spark集群 一组计算机的集合,每个计算机节点作为独立的计算资源,又可以虚拟出多个具备计算能力的虚拟机,这些虚拟机是集群中的计算单元.Spark的核心模块专注于调度和管理虚拟机之上分布式计算任务 ...

  7. HDU 5992 kd-tree

    还记得青岛的时候和蕾姐讨论了近三个小时也不知道这是什么东西 后来发现是kdtree 于是拖到寒假才补这个算法 写完几道模板题发现多维的kdtree查找最近也是很简单的拓展 于是很快1A了这道题 它真的 ...

  8. setStyleSheet 一些QSS设置的集合

    setStyleSheet 设置的一些集合,一部分源码和截图来自 http://blog.sina.com.cn/s/articlelist_2801495241_0_1.html 1. 设置QLab ...

  9. yum 源的配置与使用

    一.yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.起初是由yellow dog 这一发行版的 ...

  10. mybatis 的加载与缓存

    在这里我要说一下 我没有亲自去敲案例只是看了 我兄弟的文档 在这里和大家说一下 延迟加载: 所谓延迟加载是什么? 从字面意思理解到的是等一会再加载 从行为分析,他主要是缓解数据库压力,提高性能的意义 ...