BZOJ3296:[USACO2011OPEN]Learning Language
浅谈并查集:https://www.cnblogs.com/AKMer/p/10360090.html
题目传送门:https://lydsy.com/JudgeOnline/problem.php?id=3296
把每个牛会的语言合并在一起,然后对于没有任何一头牛会的语言扔掉。
那么答案就是语言的集合数减一。
时间复杂度:\(O(\alpha{m})\)
空间复杂度:\(O(m)\)
代码如下:
#include <cstdio>
using namespace std;
const int maxn=3e4+5;
int n,m,ans;
int fa[maxn],sum[maxn];
int read() {
int x=0,f=1;char ch=getchar();
for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;
for(;ch>='0'&&ch<='9';ch=getchar())x=x*10+ch-'0';
return x*f;
}
int find(int x) {
if(fa[x]==x)return x;
return fa[x]=find(fa[x]);
}
int merge(int a,int b) {
if(!a||!b)return a+b;
a=find(a),b=find(b);
if(a!=b)fa[a]=b,ans--;
return b;
}
int main() {
n=read(),m=read(),ans=m-1;
for(int i=1;i<=m;i++)fa[i]=i;
for(int i=1;i<=n;i++) {
int T=read(),now=0;
while(T--) {
int x=read();sum[x]++;
now=merge(now,x);
}
}
for(int i=1;i<=m;i++)
if(!sum[i])ans--;
printf("%d\n",ans);
return 0;
}
BZOJ3296:[USACO2011OPEN]Learning Language的更多相关文章
- 论文笔记(1):Deep Learning.
论文笔记1:Deep Learning 2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...
- 机器学习基石第一讲:the learning problem
博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) Andrew Ng的Machine Learning比較简单,已经看完.林田轩的机器 ...
- EnjoyingSoft之Mule ESB开发教程第四篇:Mule Expression Language - MEL表达式
目录 1. MEL的优势 2. MEL的使用场景 3. MEL的示例 4. MEL的上下文对象 5. MEL的Variable 6. MEL访问属性 7. MEL操作符 本篇主要介绍Mule表达式语言 ...
- 论文阅读:Multi-task Learning for Multi-modal Emotion Recognition and Sentiment Analysis
论文标题:Multi-task Learning for Multi-modal Emotion Recognition and Sentiment Analysis 论文链接:http://arxi ...
- BZOJ3296:Learning Languages(简单并查集)
3296: [USACO2011 Open] Learning Languages Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 436 Solved ...
- 集智学院 “Deep X:Deep Learning with Deep Knowledge”的公开讲座---总结
人工智能旨在了解人类智能的本质,并创造出能模仿人类智能做出反应的智能机器,目前在一些领域已经取得显著的成功,如AI玩游戏.问答系统.自动驾驶.无人机.机器人.翻译.人脸识别.语音识别等领域.深度学习的 ...
- 论文翻译:2018_Deep Learning for Acoustic Echo Cancellation in Noisy and Double-Talk Scenarios
论文地址:深度学习用于噪音和双语场景下的回声消除 博客地址:https://www.cnblogs.com/LXP-Never/p/14210359.html 摘要 传统的声学回声消除(AEC)通过使 ...
- 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks
Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...
- BZOJ3296: [USACO2011 Open] Learning Languages
3296: [USACO2011 Open] Learning Languages Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 81 Solved: ...
随机推荐
- python中初始化实例属性
虽然我们可以自由地给一个实例绑定各种属性,但是,现实世界中,一种类型的实例应该拥有相同名字的属性.例如,Person类应该在创建的时候就拥有 name.gender 和 birth 属性,怎么办? 在 ...
- Qt如何重写虚函数
eg:QWidget的有个虚函数,KeyPressEvent,当它的子类获得焦点的时候,如果有任何按键按下,就会触发这个虚函数. 1.在mainwindow.h中声明此虚函数 protected:vo ...
- 吴恩达深度学习笔记(五) —— 优化算法:Mini-Batch GD、Momentum、RMSprop、Adam、学习率衰减
主要内容: 一.Mini-Batch Gradient descent 二.Momentum 四.RMSprop 五.Adam 六.优化算法性能比较 七.学习率衰减 一.Mini-Batch Grad ...
- 分布式任务调度平台XXL-Job集群版搭建
如果集群: 保存后: 启动两个 job 第二个job的配置: # web port server.port=8082 # log config logging.config=classpath:log ...
- Spark及其生态系统简介总结
Spark拥有DAG执行引擎,支持在内存中对数据进行迭代计算 Spark不仅支持Scala编写应用程序,而且支持Java和Python等语言进行编写,特别是Scala是一种高效.可拓展的语言,能够用简 ...
- 【P2325】王室联邦(树的遍历+贪心)
在肖明 #神#的推荐下,我尝试了这个题,一开始想的是暴力枚举所有的点,然后bfs层数,试着和肖明 #神#说了这种方法之后, #神#轻蔑的一笑,说这不就是一个贪心么,你只需要先建树,然后从底下向上遍历, ...
- rapidjson代码封装类
rapidjson代码封装类 以下代码封装了rapidjson增删改查等基本操作: /********************************************************* ...
- js+css实现简单下拉菜单
<head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312&qu ...
- Jquery Ajax模版
$.ajax({ type: "GET", url: "test.json", data: {username:'tt', content:'tt'}, dat ...
- php:使用XHProf查找PHP性能瓶颈
https://www.cnblogs.com/casatwy/archive/2013/01/17/2865241.html XHProf是facebook 开发的一个测试php性能的扩展,本文记录 ...