L3-003. 社交集群
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. 社交集群的更多相关文章
- PAT L3-003 社交集群
https://pintia.cn/problem-sets/994805046380707840/problems/994805053141925888 当你在社交网络平台注册时,一般总是被要求填写 ...
- pat 团体天梯 L3-003. 社交集群
L3-003. 社交集群 时间限制 1000 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 在社交网络平台注册时,用户通常会输入自己的兴趣爱好, ...
- CCCC L2 部落 L3社交集群
https://www.patest.cn/contests/gplt/L2-024 题解:部落是并查集模板题. 社交集群用并查集暴力有23分 坑:写了半天,发现自己并查集没怎么学明白,现在才搞懂: ...
- 2 weekend110的mapreduce介绍及wordcount + wordcount的编写和提交集群运行 + mr程序的本地运行模式
把我们的简单运算逻辑,很方便地扩展到海量数据的场景下,分布式运算. Map作一些,数据的局部处理和打散工作. Reduce作一些,数据的汇总工作. 这是之前的,weekend110的hdfs输入流之源 ...
- 003.etcd集群部署-静态发现
一 etcd集群概述 1.1 概述 静态启动etcd集群要求每个成员都知道集群中的另一个成员.Etcd运行在集群的每个coreos节点上,可以保证coreos集群的稳定,可靠的运行.当集群网络出现动荡 ...
- spark学习之IDEA配置spark并wordcount提交集群
这篇文章包括以下内容 (1)IDEA中scala的安装 (2)hdfs简单的使用,没有写它的部署 (3) 使用scala编写简单的wordcount,输入文件和输出文件使用参数传递 (4)IDEA打包 ...
- Storm消费Kafka提交集群运行
1.创建拓扑,配置KafkaSpout.Bolt KafkaTopologyBasic.java: package org.mort.storm.kafka; import org.apache.ka ...
- pta l3-3(社交集群)
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805053141925888 题意:给定n个人,以及每个人的兴趣 ...
- 【PTA 天梯赛】L3-003 社交集群(并查集)
当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友.一个“社交集群”是指部分兴趣爱好相同的人的集合.你需要找出所有的社交集群. 输入格式: 输入在第一行 ...
随机推荐
- 【翻译】在Mac上使用VSCode创建你的第一个Asp.Net Core应用
Setting Up Your Development Environment 设置你的开发环境 To setup your development machine download and inst ...
- LDA进阶(Dynamic Topic Models)
转自:http://blog.csdn.net/hxxiaopei/article/details/8034308 http://blog.csdn.net/huagong_adu/article/d ...
- H3 BPM报销流程开发示例
以报销流程为示例,介绍H3 BPM的流程开发过程. 报销流程的表单效果如下: 审核流程为填写报销申请.主管审核.总监审核(1000以上).出纳付款,显示如下: 步骤一:准备工作 使用管理员账号的登录H ...
- 使用spring-data-redis操作redis
redis.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...
- 【.NET】SQL链接字符串
第一种:OLE DB或OleDbConnection (.NET)方式 (使用SQL Server的Microsoft OLE DB提供程序)Provider=sqloledb; Data Sourc ...
- windows下运行hadoop2.7.2
1.下载hadoop-2.7.2.tar.gz 2.解压到D:\hadoop\ 3.配置HADOOP_HOME环境变量 4.将%HADOOP_HOME%\bin目录添加到path环境变量中 5.配置J ...
- iOS 自定义layer的两种方式
在iOS中,你能看得见摸得着的东西基本都是UIView,比如一个按钮,一个标签,一个文本输入框,这些都是UIView: 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIVi ...
- HMM 前向后向算法(转)
最近研究NLP颇感兴趣,但由于比较懒,所以只好找来网上别人的比较好的博客,备份一下,也方便自己以后方便查找(其实,一般是不会再回过头来看的,嘿嘿 -_-!!) 代码自己重新写了一遍,所以就不把原文代码 ...
- Leetcode-37-Sudoku Solver(Hard)
此处先留空 使用搜索和回溯,递归来实现 参考:http://blog.csdn.net/zxzxy1988/article/details/8586289 描述简介,代码量最少
- netty入门篇(1)
上一篇 nio简介 下一篇 netty中级篇(2) 一.为什么选择Netty Netty是最流行的框架之一.健壮性.功能.性能.可定制性和可扩展性在同类框架中首屈一指,因此被大规模使用,例如ROCK ...