L3-003. 社交集群

题目链接:https://www.patest.cn/contests/gplt/L3-003

查并集

L2-007(家庭房产)类似,都是采用了并查集的算法,相对来说这题处理起来更简单一点。这里我维护了最小的h[i],便于查找。

代码如下:

 #include<cstdio>
#include<iostream>
#include<algorithm>
#define N 1005
using namespace std;
int a[N];//存放各组h[k]的最小值
int pre[N+];
int r[N];//存放结果sum
void Make();
int Find(int n);
void Uion(int x,int y);
bool compare(int x,int y){
return x>y;
}
int main(void){
freopen("in.txt","r",stdin);
int n;
Make();
scanf("%d",&n);
for(int i=;i<n;++i){
int t,h,Min,p;
scanf("%d:",&t);
for(int j=;j<t;++j){
scanf("%d",&h);
if(!j){
Min=h;
p=h;
}else{
Min=min(Min,h);
Uion(h,p);
}
}
a[i]=Min;
}
for(int i=;i<=N;++i)Find(i);
for(int i=;i<n;++i)
r[pre[a[i]]]++;
sort(r,r+N,compare);
int k;
for(k=;k<N;k++)
if(!r[k])break;
printf("%d\n",k);
printf("%d",r[]);
for(int i=;i<k;++i)
printf(" %d",r[i]);
printf("\n");
return ;
}
void Make(){
for(int i=;i<=N;++i)
pre[i]=i;
}
int Find(int n){
if(n!=pre[n])pre[n]=Find(pre[n]);
return pre[n];
}
void Uion(int x,int y){
int k1=Find(x),k2=Find(y);
k1<k2?pre[k2]=k1:pre[k1]=k2;
}

L3-003. 社交集群的更多相关文章

  1. PAT L3-003 社交集群

    https://pintia.cn/problem-sets/994805046380707840/problems/994805053141925888 当你在社交网络平台注册时,一般总是被要求填写 ...

  2. pat 团体天梯 L3-003. 社交集群

    L3-003. 社交集群 时间限制 1000 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 在社交网络平台注册时,用户通常会输入自己的兴趣爱好, ...

  3. CCCC L2 部落 L3社交集群

    https://www.patest.cn/contests/gplt/L2-024 题解:部落是并查集模板题. 社交集群用并查集暴力有23分 坑:写了半天,发现自己并查集没怎么学明白,现在才搞懂: ...

  4. 2 weekend110的mapreduce介绍及wordcount + wordcount的编写和提交集群运行 + mr程序的本地运行模式

    把我们的简单运算逻辑,很方便地扩展到海量数据的场景下,分布式运算. Map作一些,数据的局部处理和打散工作. Reduce作一些,数据的汇总工作. 这是之前的,weekend110的hdfs输入流之源 ...

  5. 003.etcd集群部署-静态发现

    一 etcd集群概述 1.1 概述 静态启动etcd集群要求每个成员都知道集群中的另一个成员.Etcd运行在集群的每个coreos节点上,可以保证coreos集群的稳定,可靠的运行.当集群网络出现动荡 ...

  6. spark学习之IDEA配置spark并wordcount提交集群

    这篇文章包括以下内容 (1)IDEA中scala的安装 (2)hdfs简单的使用,没有写它的部署 (3) 使用scala编写简单的wordcount,输入文件和输出文件使用参数传递 (4)IDEA打包 ...

  7. Storm消费Kafka提交集群运行

    1.创建拓扑,配置KafkaSpout.Bolt KafkaTopologyBasic.java: package org.mort.storm.kafka; import org.apache.ka ...

  8. pta l3-3(社交集群)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805053141925888 题意:给定n个人,以及每个人的兴趣 ...

  9. 【PTA 天梯赛】L3-003 社交集群(并查集)

    当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友.一个“社交集群”是指部分兴趣爱好相同的人的集合.你需要找出所有的社交集群. 输入格式: 输入在第一行 ...

随机推荐

  1. CG 标准函数库

    (1)数学函数 函数 功能描述 abs(x) 返回输入参数的绝对值 acos(x) 反余切函数,输入参数范围为[-1,1], 返回[0,π]区间的角度值 all(x) 如果输入参数均不为0,则返回tu ...

  2. 在VMware上安装CentOS -7步骤详解

    在VMware上安装CentOS -7 一.下载好VMware虚拟机 二.准备好CentOS的镜像文件 在这里安装之前博主都已准备好了. 废话就少啰嗦啦!现在开始安装步骤了 1.首先打开VMware创 ...

  3. Unity 解决 An asset is marked with HideFlags.DontSave but is included in the build 问题。

    问题是:不能使用Unity使用的默认的字体.想要显示中文直接去下载一个字体.没必要使用默认的字体

  4. 1、<img />标签

    alt:当图片不显示时的文字说明 title:鼠标悬停在图片上的出现的文字说明

  5. Nodejs 学习

    1,Node.js REPL交互式解释器:nodejs安装完毕后,打开终端,进入到nodejs的安装目录下,输入node,进入到新的页面,该页面称为Node.js REPL (交互式解释器):可以简单 ...

  6. SAP HANA创建层次结构的属性视图(Hierarchy Attribute View)

    在产品表中,数据是具有一定层次结构的 1. 在Content相应的package下面右键点击Attribute View,新建Attribute View 填写相关信息,注意:我们所建的依然是标准视图 ...

  7. 关于MPMoviePlayerController类播放视频时,外放没有声音的问题(ios)

    一.导入音频资源类 #import "AVFoundation/AVAudioSession.h" 二.在播放视频的方法中加一句支持外放的代码 [[AVAudioSession s ...

  8. JQuery笔记(一)jq的使用方法

    我用的jq版本是支持pc版为主的最高1版本里最高的1.124版本 官网的链接是只有最新的3下载,我把我在官网下载的jq代码链接发出来,如下 点我获取jq代码 和js不同的是,jq开发者封装了一些方法 ...

  9. php笔记(二)PHP类和对象之Static静态关键字

      PHP类和对象之Static静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用.静态属性不允许对象使用->操作符调用. class Car { pr ...

  10. JS中千分位的处理

    function commafy(num) { //1.先去除空格,判断是否空值和非数 num = num + ""; num = num.replace(/[ ]/g, &quo ...