博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hdu 1856(离散化+并查集)More is better
阅读量:4546 次
发布时间:2019-06-08

本文共 1062 字,大约阅读时间需要 3 分钟。

题意:一些人遵循朋友的朋友也是朋友原则,现在找出最大的朋友圈,
因为人的编号比较大,但是输入的数据最多是10w行,所以可得出最多也就20w人,所以可以进行一下离散化处理,这样数据就会毫无压力
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<math.h>
#include<
string.h>
#include<queue>
#include<stack>
using 
namespace std;
const 
int maxn = 
300005;
int f[maxn], p[maxn];
//
p数组保存离散化后的数据
int sum[maxn];
//
保存以这点为根的数有多少个
struct node{
int u, v;}e[maxn];
//
保存边
int Find(
int x)
{
    
if(f[x] != x)
        f[x] = Find(f[x]);
    
return f[x];
}
int main()
{
    
int M;
    
while(scanf(
"
%d
", &M) != EOF)
    {
        
int i, k=
0, N;
        
for(i=
0; i<M; i++)
        {
            scanf(
"
%d%d
", &e[i].u, &e[i].v);
            p[k++] = e[i].u, p[k++] = e[i].v;
        }
        sort(p, p+k);
        
//
去重复函数,返回去除重复后最后一个数的地址,减p可以算出有多少个不重复元素
        N = unique(p, p+k) - p;
        
for(i=
0; i<N; i++)
            f[i] = i, sum[i] = 
0;
        
for(i=
0; i<M; i++)
        {
            
int u = lower_bound(p, p+N, e[i].u)-p;
//
二分查找函数
            
int v = lower_bound(p, p+N, e[i].v)-p;
            u = Find(u), v = Find(v);
            
if(u != v)
                f[v] = u;
        }
        
int ans = 
1;
        
for(i=
0; i<N; i++)
        {
            k = Find(i);
            sum[k]++;
            ans = max(sum[k], ans);
        }
        printf(
"
%d\n
", ans);
    }
    
return 
0;

} 

转载于:https://www.cnblogs.com/liuxin13/p/4674320.html

你可能感兴趣的文章
201671010118 2016-2017-2《Java程序设计》 第十一周学习心得
查看>>
Get Sauce(状压DP)
查看>>
Office2007 升级到 office2010
查看>>
Python+Selenium 自动化实现实例-Xpath捕捉元素的几种方法
查看>>
SpringBoot整合Hibernate
查看>>
PPT1 例2
查看>>
。。。。。
查看>>
extern外部方法使用C#简单例子
查看>>
血液循环结构
查看>>
SQL Server统计数据库中表个数、视图个数、存储过程个数
查看>>
swift Reflection(字典转模型)变量继承本类类名解决办法
查看>>
设计模式:观察者模式
查看>>
转换排列Qt中使用OpenCV显示图片时,Mat结构转换为QImage结构的问题
查看>>
继承接口面向对象的7个设计原则
查看>>
久病成医(1)
查看>>
小诗句集萃十
查看>>
CentOS下设置vimrc,添加文件注释信息以及设置tab 键为4 格
查看>>
【Demo 0052】发送消息的方法
查看>>
OSI七层模型和TCP/IP五层模型详解
查看>>
做游戏长知识------基于行为树与状态机的游戏AI(一)
查看>>