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 社交集群(并查集)
当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友.一个“社交集群”是指部分兴趣爱好相同的人的集合.你需要找出所有的社交集群. 输入格式: 输入在第一行 ...
随机推荐
- C++11多线程std::thread的简单使用
在cocos2dx 2.0时代,我们使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上.但在cocos2dx 3.0中并未发现有pthread的支持文件,原来c++11中已经拥有 ...
- [nodejs,expressjs,angularjs2] LOL英雄列表数据抓取及查询显示应用
新手练习,尝试使用angularjs2 [angularjs2 数据绑定,监听数据变化自动修改相应dom值,非常方便好用,但与传统js(jquery)的使用方法会很不同,Dom操作也不太习惯] 应用效 ...
- 数据挖掘_wget整站下载
你应该了解的所有wget命令 翻译自All the Wget Commands You Should Know 如何下载整个网站用来离线浏览?怎样将一个网站上的所有MP3文件保存到本地的一个目录中?怎 ...
- Aspose系列实现docx转PDF,PPT转PDF,EXCEL转PDF
没有什么营养,就是调用一下这个组件.其实一开始用的是Microsoft.Office.Interop.Excel;Microsoft.Office.Interop.Word 但是在服务器要注意,服务器 ...
- linux环境下搭建环境发布web项目
在公司真是学习了一下项目环境在linux下搭建和发布的过程,这是每个程序员都应该掌握的一个技能,将整理下为以后温习用,也乐于和为掌握这些技能的猿分享: 这里主要分为5部分:1.安装jdk,并配置环境变 ...
- Genymotion下载失败解决方法
Genymotion下载虚拟机版本时会很慢,而且经常下载失败 解决方法如下: 1.先去选择下载你需要的版本,之后会下载(很慢),或者失败. 2.到C:\Users\yourname\AppData\L ...
- mysql vachar
--本文在CSDN文章的基础加以补充 一. varchar存储规则: 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,va ...
- C# Where
判断一个字符串中是否包含字符串数组里的字符,恶意字符限制提交,一般人,包括最初的我,会这样写 public bool ValidateStr(string[] parms) { bool result ...
- 第一百一十九节,JavaScript事件入门
JavaScript事件入门 学习要点: 1.事件介绍 2.内联模型 3.脚本模型 4.事件处理函数 JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击.当用户执行某些操 ...
- ContourLine
#define MULTI_PLOT true //Determine whether or not to plot multiple iterations. #define X_MAX 1.0 // ...