GPLT L2-005. 集合相似度【set集合】
来源:互联网 发布:金元证券交易软件下载 编辑:程序博客网 时间:2024/06/04 19:51
题目:集合相似度
题意:Nc:“两个集合都有的不相等整数的个数” 意思是求俩个集合的交集个数 Nt:“两个集合一共有的不相等整数的个数” 意思是求俩个集合的并集个数 ,记得去重!
思路:开一个set集合数组,分别将每个集合加入相应的集合中,然后再将要求的集合中查找相同元素即为Nc ,而Nt为集合的长度,当前set集合加入重复元素的话不增长总元素个数,而只是在重复元素加了个count的值为1,这样就充分的利用了set集合求交集与并集,无需手动的去重了!
参考:寒leng的锋博客
代码:
#include <iostream>#include <cstdio>#include <set>#include<map>using namespace std;const int maxn = 55;set<int>st[maxn];int main(){ int n,m,k,x,y,tigital; while(~scanf("%d",&n)){ for(int i=1;i<=n;i++){ scanf("%d",&m); for(int j=0;j<m;j++){ scanf("%d",&tigital); st[i].insert(tigital);} } scanf("%d",&k); while(k--){ scanf("%d%d",&x,&y); int c=0,t = st[x].size() + st[y].size(); for(set<int>::iterator it=st[x].begin();it != st[x].end();it++){ if(st[y].count(*it)) c++; } printf("%.2lf%%\n",(double)c/(double)(t-c) *100.0); } } return 0;}
0 0
- GPLT L2-005. 集合相似度【set集合】
- L2-005. 集合相似度(set)
- L2-005. 集合相似度----set
- L2-005. 集合相似度(set集合)
- L2-005. 集合相似度-PAT团体程序设计天梯赛GPLT
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- L2-005. 集合相似度
- 关于ConcurrentHashMap作缓存
- Android中Fragment的使用总结示例
- HDU 4908 BestCoder Sequence (哈希)
- 从梯度下降到拟牛顿法:详解训练神经网络的五大学习算法
- Collections工具类
- GPLT L2-005. 集合相似度【set集合】
- Java相关知识普及
- TCP/IP系列——长连接与短连接的区别
- Bootstrap 环境安装
- 安卓开发之——AndroidSDK环境配置
- 二分查找法(递归和非递归实现)
- Java实现堆排序算法
- 进程终止分析之一
- VQA数据集及评价方法介绍