当前位置: 首页 > news >正文

彩票网站链接怎么做seo厂商

彩票网站链接怎么做,seo厂商,青岛开发区网站建设哪家好,工信部网站备案查询 验证码当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友。一个“社交集群”是指部分兴趣爱好相同的人的集合。你需要找出所有的社交集群。 输入格式 输入在第一行给出一个正整数 N(≤1000&…

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

输入格式

输入在第一行给出一个正整数 N(≤1000),为社交网络平台注册的所有用户的人数。于是这些人从 1 到 N 编号。随后 N 行,每行按以下格式给出一个人的兴趣爱好列表: K i : h i [ 1 ] h i [ 2 ] . . . h i [ K i ] K_i: h_{i}[1]\ h_{i}[2]\ ...\ h_{i}[K_i] Ki:hi[1] hi[2] ... hi[Ki],其中 K i ( > 0 ) K_i(>0) Ki(>0) 是第 i 个人的兴趣爱好的个数, h i [ j ] h_{i}[j] hi[j]是第 j j j个兴趣爱好的编号。为区间[1, 1000]内的整数。

输出格式

首先在一行中输出不同的社交集群的个数。随后第二行按非增序输出每个集群中的人数。数字间以一个空格分隔,行末不得有多余空格。

输入样例

8
3: 2 7 10
1: 4
2: 5 3
1: 4
1: 3
1: 4
4: 6 8 1 5
1: 4

输出样例

3
4 3 1

一些限制

项目限制
代码长度限制16 KB
时间限制3000 ms
内存限制64 MB
栈限制8192 KB

解题思路

因为每一个人的兴趣爱好不止一个,如果我们按照单一的兴趣爱好来合并,那就会非常不妥当(当然,这样做也是可以通过的,但所花的时间会更多)。

我们可以这样做:

  1. 先设置一个映射关系unordered_map<int, vector<int>>,将每个人归入到每个兴趣爱好的集合中。
  2. 遍历这个映射关系,对于每一个兴趣爱好的集合,将这个集合中的人合并到一个朋友圈中。
    for(auto k: lov) {for(int i = 0, j = 1; j < k.second.size(); ++j) {union1(k.second[i], k.second[j]);}
    }
    
  3. 最后,使用set容器来存储所有的朋友圈,使用unordered_map来存储每个朋友圈的人数,最后输出结果。
    set<int> components;
    unordered_map<int, int> mp;
    for(int i = 1; i <= n; ++i) {components.insert(components.end(), fa[i]);if(mp.find(fa[i]) == mp.end()) mp[fa[i]] = 1;else mp[fa[i]] += 1;
    }
    cout << components.size() << endl;
    vector<int> ans;
    for(auto i: mp) {ans.push_back(i.second);
    }
    

Code

#include <bits/stdc++.h>
using namespace std;
int fa[2000];
set<int> components;
unordered_map<int,vector<int>> lov;void init(int n) {for(int i = 1; i <= n; ++i) {fa[i] = i;}
}int find(int i) {if(i == fa[i]) return i;else {fa[i] = find(fa[i]);return fa[i];}
}int update(int i) {if(i == fa[i]) return i;else {fa[i] = find(fa[i]);return fa[i];}
}void union1(int a, int b) {int afa = find(a), bfa = find(b);fa[afa] = bfa;
}bool cmp(int a, int b) {return a > b;
}int main() {int n, m, t;cin >> n;init(n);for(int i = 1; i <= n; ++i) {scanf("%d: ", &m);for(int j = 1; j <= m; ++j) {scanf("%d", &t);lov[t].push_back(i);}}for(auto k: lov) {for(int i = 0, j = 1; j < k.second.size(); ++j) {union1(k.second[i], k.second[j]);}}for(int i = 0; i <= n; ++i) {update(i);}unordered_map<int, int> mp;for(int i = 1; i <= n; ++i) {components.insert(components.end(), fa[i]);if(mp.find(fa[i]) == mp.end()) mp[fa[i]] = 1;else mp[fa[i]] += 1;}cout << components.size() << endl;vector<int> ans;for(auto i: mp) {ans.push_back(i.second);}sort(ans.begin(), ans.end(), cmp);for(int i = 0; i < ans.size(); ++i) {if(i == 0) cout << ans[i];else cout << " " << ans[i];}
}
http://www.ds6.com.cn/news/36978.html

相关文章:

  • 网站流量所需的成本.sem网站推广怎么做
  • 做网站会出现哪些问题网络推广营销技巧
  • 内蒙古建网站自己怎么开网站
  • 网站建设费用明细报告html网页制作代码大全
  • 新手学做网站图纸如何做seo搜索优化
  • 可信网站认证办理要求seo标题优化关键词怎么选
  • 医疗类网站前置审批企业网站建设公司
  • 温州网站关键词排名优化上海b2b网络推广外包
  • wordpress投稿申请湖南网站推广优化
  • 天津外贸网站建设公司市场营销推广策划
  • 极速网站开发好的竞价账户托管外包
  • 商标 做网站 是几类长沙网络营销公司
  • 做网站常用的英文字体网络营销网站建设
  • 千库网网站杭州百度首页优化
  • 建网站多少网站seo思路
  • 帮企业做网站赚钱seo如何优化一个网站
  • 温州专业微网站制作公司品牌推广计划书怎么写
  • 吉林网站备案电脑优化大师哪个好
  • 做论坛网站的元素云南省最新疫情情况
  • 大连app开发公司排名成都seo推广员
  • 为什么网站突然打不开搜索引擎优化的英文
  • 任县网站制作360投放广告怎么收费
  • 安徽搜索引擎推广平台网站seo优化服务
  • 什么是网站建设如何宣传自己的网站
  • 嘉善县建设工程管理与监督网站活动营销推广方案
  • 做app和网站哪个比较好搜索引擎的工作原理是什么?
  • WordPress开网站很慢最佳磁力吧ciliba搜索引擎
  • 印刷个性化网站建设的意义线上推广100种方式
  • 网站一年多少钱北京seo分析
  • 时时彩网站代理怎么做?广告宣传费用一般多少