【NOIP practice】BSOJ 3132 卡扎菲 并查集
3132 -- 【刘峻琳day1-2】卡扎菲
Description
42年前,当一个帅气的年轻军官推翻了利比亚的封建独裁,所有人都认为利比亚的好日子要来了。但正如历史上大多数统治者一样,长期的统治只不过会膨胀其独裁的野心,卡扎菲未能幸免地将利比亚带入了下一个黑暗的时期。2011年,在北约的帮助下,利比亚反对派终于向这位暴君宣战。反对派有n个人,一开始他们各自为战(即各自为一个单独的部队),在全国各地点燃硝烟。随着战事的进行,他们中的一些部队为了合并力量或者因为占领地相邻而将两支队伍合并,以期以更猛的攻势摧毁卡扎菲政权。卡扎菲方面,由于正义终将战胜邪恶,越来越多的卡军向反对派投诚,卡军的力量受到极大的削弱。无奈之下,卡军只有集中精力攻打一支反动军队,卡扎菲需要知道此时此刻力量最大的部队是哪一支。
Input
输入第一行包含两个整数n,m,表示最初部队个数和操作个数。
接下来m行,每一行第一个整数为k。若k为1,表示此时有两支反军合并,后面紧跟两个整数x,y,表示士兵x和士兵y所在的部队此时合并,若x和y已在同一部队,则忽略此信息;若k为2,则表示卡扎菲发出一条询问,询问此时人数最多的部队。
Output
对于每一条询问,你需要输出人数最多的部队的人数。
Sample Input
2 3
2
1 1 2
2
Sample Output
1
2
Hint
对于50%的数据n,m<=1000
对于100%的数据n,m<=100000, 1<=x,y<=n
裸并查集..每次合并把两个集合的sum修改为sum1+sum2.每次合并维护最大值,输出即可。
然而我一开始是每次询问for循环查找一次..TLE 5组。
#include<iostream>
#include<iomanip>
#include<cstring>
#include<cmath>
#include<cstdio>
using namespace std;
void File_Format()
{freopen("rebell.in","r",stdin);freopen("rebell.out","w",stdout);
}
int prt[500005]={0},n,m,cnt[500005]={0};
int getfa(int x)
{if(x==prt[x])return x;return prt[x]=getfa(prt[x]);
}
void work()
{int cmd;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)prt[i]=i,cnt[i]=1;int maxx=1;for(int i=1;i<=m;i++){scanf("%d",&cmd);if(cmd==1){int x,y;scanf("%d%d",&x,&y);int f1=getfa(x);int f2=getfa(y);if(f1!=f2){prt[f1]=f2;cnt[f1]=cnt[f2]=cnt[f1]+cnt[f2];maxx=max(maxx,cnt[f1]);}} if(cmd==2)printf("%d\n",maxx);}
}
int main(){work();return 0;
}
【NOIP practice】BSOJ 3132 卡扎菲 并查集相关推荐
- 【bzoj 入门OJ】[NOIP 热身赛]Problem C: 星球联盟(并查集)
Problem C: 星球联盟 Time Limit: 4 Sec Memory Limit: 256 MB Submit: 57 Solved: 15 [Submit][Status][Web ...
- 巴菲特+查理芒格+投资理论+经典语录+给韭菜的启示
巴菲特+查理芒格+投资理论+经典语录+给韭菜的启示 巴菲特: 一个老年人在零售店里发现老婆丢了,恰好遇到一个年轻人也在找自己的另一半,老人问:你妻子长什么样?年轻人答:"她可真是个金发美人啊 ...
- NOIp 数据结构专题总结 (1):STL、堆、并查集、ST表、Hash表
系列索引: NOIp 数据结构专题总结 (1) NOIp 数据结构专题总结 (2) STL structure std::vector #include <vector> std::vec ...
- [校内模拟] 200731 NOIP Practice 咕T6
文章目录 T1 Tree T2 Brush T3 Read T4 Circle T5 Closing T6 Network T1 Tree 只由相邻两树决定 #include<bits/stdc ...
- NOIP Practice Recordings S
Search A* luogu1379 八数码难题 (2021.10.15) 判断可行 3 × 3 3 \times 3 3×3 的九宫格,其中 8 8 8 个格子中有 1 ∼ 8 1 \si ...
- 基本存款账户编号怎么查_上海社会保障卡查询个人账户怎么查
「亲亲小保」社保代缴-企业社保代理-个人社保代缴-人事代理-工资代发www.qinqinxiaobao.com 很多城市五险一金都是职工的标配,五险一金对职工的作用也是十分大的,尤其在北上广等一线城 ...
- 黑苹果N卡NVIDIA Web驱动合集,随时更新!
Webdriver黑苹果英伟达显卡驱动是Mac电脑上的黑苹果N卡驱动,这次更新英伟达加入了10xx系列的支持,包括1050.1060.1070和1080等,请有这些显卡的用户尽快升级驱动. 下载地址: ...
- 快递查询从方卡迁移到爱查快递的API
最近购买了一个快递查询网站,原程序用的时方卡的系统,查看了一下代码,还是跟以前一样让人不敢恭维.程序不支持CURL,文件名大小写不分,用户名和密码以明文方式保存,屁大个系统还要使用模板缓存,目录混乱- ...
- linux系统怎么查看raid卡信息,LINUX下查SCSI卡、RAID卡信息的命令
Linux下查SCSI卡.RAID卡信息的命令 shell#cat /proc/scsi/scsi shell#/sbin/lspci shell#/usr/sbin/dmidecode 例: [ro ...
- NOIP 2017 提高组 K: 奶酪 (SPFA || 并查集)
K: 奶酪 时间限制: 1 Sec 内存限制: 128 MB 提交: 115 解决: 30 [提交][状态][讨论版] 题目描述 现有一块大奶酪,它的高度为 h ,它的长度和宽度我们可以认为是无限 ...
最新文章
- Building for Production
- 在Itanium2、Intel Fortran Compiler上安装VASP4.6
- Datatables表格数据初始化时回调函数中修改要显示的值
- C++ text search文本检索在较长的文本段落中搜索单词的算法(附完整源码)
- JavaScript 判断变量是否为数组Array的方法
- 上周五,小编参加了一场高大上的“9”会
- 外链引入css有哪些方式_外链怎么发才会快速收录?
- 如何使用可控硅?(详细教程)
- 领航物联网智能操作系统,指令集完成过亿元 A 轮融资
- 计算机无法创建新文件夹,无法创建文件,小编教你无法新建文件夹怎么办
- gta5服务器端文件夹,GTA5路径在steam哪个文件夹里面
- Aspack壳手动脱壳
- 什么是软件第三方测试 ,靠谱的第三方测试检测公司推荐
- 蓝牙协议栈HFP SCO连接流程
- win7计算机服务项,新萝卜家园win7旗舰版服务项的详解
- 泽塔云:用超融合撑起软件定义数据中心的梦想
- 火车站信号自动语音播报系统的设计
- 2022年大学应届生破千万,就业形势严峻,打工人准备好了吗?
- 大数据人工智能领域从菜鸟到高手晋级指南
- 信捷PLC程序,八轴程序,有伺服也有步进,内部有伺服和步进计算公式换算,模块化编程框架
热门文章
- 从高排到低变成小楼梯儿歌_新学期50首幼儿园常规儿歌,收藏了就能用上!
- java连接打印机并进行打印
- 从小学到大学到出社会以后我的感受(出社会时间不长)
- 放弃腾讯75W年薪,回老家当公务员,提离职被领导教育。网友:leader嫉妒了
- 全面讲解光纤、光模块、光纤交换机、光模块组网设计与案例
- 0元参会丨第十届数据技术嘉年华精彩抢先速览
- 去世父亲在儿子手机中复活,这可能是最温暖的一个AI
- 使用dd命令完整拷贝系统分区到另外一个硬盘上
- Blk read/s Blk wrtn/s Blk read Blk wrtn分别代表什么意思
- 未储存的Pages文件怎么恢复