1107. Social Clusters (30)

本文介绍了一个社交网络中寻找具有相同兴趣爱好的人群集群的问题。通过输入每个人的爱好列表,使用并查集算法找出所有集群,并输出每个集群的人数。示例展示了如何处理数据并输出结果。

When register on a social network, you are always asked to specify your hobbies in order to find some potential friends with the same hobbies. A "social cluster" is a set of people who have some of their hobbies in common. You are supposed to find all the clusters.

Input Specification:

Each input file contains one test case. For each test case, the first line contains a positive integer N (<=1000), the total number of people in a social network. Hence the people are numbered from 1 to N. Then N lines follow, each gives the hobby list of a person in the format:

Ki: hi[1] hi[2] ... hi[Ki]

where Ki (>0) is the number of hobbies, and hi[j] is the index of the j-th hobby, which is an integer in [1, 1000].

Output Specification:

For each case, print in one line the total number of clusters in the network. Then in the second line, print the numbers of people in the clusters in non-increasing order. The numbers must be separated by exactly one space, and there must be no extra space at the end of the line.

Sample Input:
8
3: 2 7 10
1: 4
2: 5 3
1: 4
1: 3
1: 4
4: 6 8 1 5
1: 4
Sample Output:
3
4 3 1
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;

const int maxn=1010;
int father[maxn]={0};
int isRoot[maxn]={0};
int course[maxn]={0};
int findFather(int x)
{
    while(x!=father[x])
    {
        x=father[x];
    }
    return x;
}
void Union(int a,int b)
{
    int faA=findFather(a);
    int faB=findFather(b);
    if(faA!=faB)
    {
        father[faA]=faB;
    }
}
void init(int n)
{
    for(int i=1;i<=n;i++)
    {
        father[i]=i;
        isRoot[i]=false;
    }
}
bool cmp(int a,int b)
{
    return a>b;
}
int main()
{
    int n,k,h;
    cin>>n;
    init(n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d:",&k);
        for(int j=0;j<k;j++)
        {
            scanf("%d",&h);
            if(course[h]==0)
            {
                course[h]=i;
            }
            Union(i,findFather(course[h]));
        }
    }
    for(int i=1;i<=n;i++)
    {
        isRoot[findFather(i)]++;
    }
    int ans=0;
    for(int i=1;i<=n;i++)
    {
        if(isRoot[i]!=0)
        {
            ans++;
        }
    }
    printf("%d\n",ans);
    sort(isRoot+1,isRoot+n+1,cmp);
    for(int i=1;i<=ans;i++)
    {
        printf("%d",isRoot[i]);
        if(i<ans) printf(" ");
    }
    return 0;
}


title authors groups keywords topics abstract 0 Kernelized Bayesian Transfer Learning Mehmet Gönen and Adam A. Margolin Novel Machine Learning Algorithms (NMLA) cross-domain learning\ndomain adaptation\nkern... APP: Biomedical / Bioinformatics\nNMLA: Bayesi... Transfer learning considers related but distin... 1 "Source Free" Transfer Learning for Text Class... Zhongqi Lu, Yin Zhu, Sinno Pan, Evan Xiang, Yu... AI and the Web (AIW)\nNovel Machine Learning A... Transfer Learning\nAuxiliary Data Retrieval\nT... AIW: Knowledge acquisition from the web\nAIW: ... Transfer learning uses relevant auxiliary data... 2 A Generalization of Probabilistic Serial to Ra... Haris Aziz and Paul Stursberg Game Theory and Economic Paradigms (GTEP) social choice theory\nvoting\nfair division\ns... GTEP: Game Theory\nGTEP: Social Choice / Voting The probabilistic serial (PS) rule is one of t... 3 Lifetime Lexical Variation in Social Media Liao Lizi, Jing Jiang, Ying Ding, Heyan Huang ... NLP and Text Mining (NLPTM) Generative model\nSocial Networks\nAge Prediction AIW: Web personalization and user modeling\nNL... As the rapid growth of online social media att... 4 Hybrid Singular Value Thresholding for Tensor ... Xiaoqin Zhang, Zhengyuan Zhou, Di Wang and Yi Ma Knowledge Representation and Reasoning (KRR)\n... tensor completion\nlow-rank recovery\nhybrid s... KRR: Knowledge Representation (General/Other)\... In this paper, we study the low-rank tensor co... ... ... ... ... ... ... ... 393 Mapping Users Across Networks by Manifold Alig... Shulong Tan, Ziyu Guan, Deng Cai, Xuzhen Qin, ... AI and the Web (AIW) Social Networks\nManifold Alignment\nHypergrap... AIW: Machine learning and the web\nAIW: Ontolo... Nowadays many people are members of multiple o... 394 Compact Aspect Embedding For Diversified Query... Xiaohua Liu, Arbi Bouchoucha, Jian-Yun Nie and... AI and the Web (AIW) query expansion\nsearch result diversification... AIW: Enhancing web search and information retr... Diversified query expansion (DQE) based approa... 395 Contraction and Revision over DL-Lite TBoxes Zhiqiang Zhuang, Zhe Wang, Kewen Wang and Guil... Knowledge Representation and Reasoning (KRR) Belief Change\nDescription Logic\nNon-monotoni... KRR: Belief Change\nKRR: Description Logics\nK... An essential task in managing DL ontologies is... 396 Zero Pronoun Resolution as Ranking Chen Chen and Vincent Ng NLP and Text Mining (NLPTM) Zero Pronouns\nText Mining\nNatural Language P... NLPTM: Evaluation and Analysis Compared to overt pronoun resolution, there is... 397 Supervised Transfer Sparse Coding Maruan Al-Shedivat, Jim Jing-Yan Wang, Majed A... Novel Machine Learning Algorithms (NMLA) Sparse coding\nTransfer learning\nSupervised l... NMLA: Classification\nNMLA: Transfer, Adaptati... A combination of sparse coding and transfer le... 用语义模型向量化以上数据,并进行k-means聚类分析
最新发布
12-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值