
并查集
.
SSL_ZZL
是很菜啦
展开
-
【ybtoj】【并查集】【例题4】食物链
设x+n是吃x的,x吃x+2*n,y同上原创 2021-05-03 21:45:04 · 196 阅读 · 0 评论 -
【并查集】打击犯罪
Description某个地区有n(n<=1000)个犯罪团伙,当地警方按照他们的危险程度由高到低给他们编号为1-n,他们有些团伙之间有直接联系,但是任意两个团伙都可以通过直接或间接的方式联系,这样这里就形成了一个庞大的犯罪集团,犯罪集团的危险程度唯一由集团内的犯罪团伙数量确定,而与单个犯罪团伙的危险程度无关(该犯罪集团的危险程度为n)。现在当地警方希望花尽量少的时间(即打击掉尽量少的团伙),使得庞大的犯罪集团分离成若干个较小的集团,并且他们中最大的一个的危险程度不超过n/2。为达到最好的效果,他们原创 2020-08-09 20:59:17 · 471 阅读 · 0 评论 -
【并查集】家谱
Description现代的人对于本家族血统越来越感兴趣, 现在给出充足的父子关系, 请你编写程序找到 某个人的最早的祖先。Input输入由多行组成,首先是一系列有关父子关系的描述,其中每一组父子关系中父亲只有一行,儿子可能有若干行,用 #name 的形式描写一组父子关系中的父亲的名字,用 +name 的形式描写一组父子关系中的儿子的名字;接下来用 ?name 的形式表示要求该人的最早的祖先;最后用单独的一个 $ 表示文件结束。Output按照输入文件的要求顺序,求出每一个要找祖先的人的祖先,格式原创 2020-08-10 07:35:54 · 125 阅读 · 0 评论 -
【ybtoj】【并查集】【例题3】银河英雄传说
设num[i]为 i为头的队伍有多少个点(就是代表一个集合里有多少点,因为i打头,所以i就为i集合的标记);设dis[i]为 i到fa[i](即i的父节点)有多少士兵;并查集时,需维护dis[],这就是带边权并查集————————吧原创 2021-05-03 21:16:43 · 190 阅读 · 0 评论 -
【ybtoj】【并查集】【例题2】程序自动分析
【例题2】程序自动分析Link解题思路CodeLink传送门题目解题思路这题**的要离散化虽然不是很难,但是有必要在这么模板的题上加个离散化吗,有!必!要!吗!将 ‘等于’ 和 ‘不等于’ 分开处理先处理‘等于’,做并查集再处理‘不等于’,如果‘不等于’的两个点出现在同个集里,说明两个点既 ‘等于’ 又 ‘不等于’,出现不满足Code#include <algorithm>#include <iostream>#include <cstdio&g原创 2021-05-03 20:54:30 · 130 阅读 · 0 评论 -
【ybtoj】【并查集】【例题1】【模板】并查集
【例题1】【模板】并查集Link解题思路CodeLink传送门题目解题思路真真就是个并查集模板Code#include <iostream>#include <cstdio>using namespace std;int n, m, fa[10010], c, x, y, xx, yy;int find(int x) { if(fa[x] != x) { fa[x] = find(fa[x]); return fa[x]; } retu原创 2021-05-03 19:04:11 · 179 阅读 · 0 评论 -
【并查集】USACO 3.1 Agri-Net 最短网络 (最小生成树)
Description农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。每两个农场间的距离不会超过100000Input第一行: 农场的个数,N(3<=N<=100)。第二行…结尾: 后来的行包含了一个N*N的矩阵,表原创 2020-08-09 20:10:06 · 238 阅读 · 0 评论 -
【并查集】家族
Description若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。Input第一行:三个整数n,m,p,(n<=50000,m<=50000,p<=50000),分别表示有n个人,m个亲戚关系,询问p对亲戚关系。以下m行:每行两个数Mi,Mj,1<=Mi,Mj<=N,表示A原创 2020-08-10 07:40:14 · 177 阅读 · 0 评论 -
【jzoj2169】【并查集】【高精度】分数统计
题目描述在统计完朋友情况之后,小明又对大家的毕业学校产生兴趣,但是他觉得单纯的统计人数是一件非常无聊的事情,于是他设计了一个算法,同一所学校毕业的学生,第1个将获得1分,第2个获得2分,第3个获得4分…,第i个将获得2^(i-1)分,总分就是这所小学的得分,小明想知道得分最高的学校有多少分。输入输入文件score.in的第一行有两个整数n和m,n表示总人数,m表示已知的同校关系数量。接下来...原创 2020-02-27 20:29:40 · 131 阅读 · 0 评论 -
【并查集】矩形
Description在一个平面上有n个矩形。每个矩形的边都平行于坐标轴并且都具有值为整数的顶点。我们用如下的方式来定义块。每一个矩形都是一个块。如果两个不同的矩形有公共线段,那么它们就组成了一个新的块来覆盖它们原来的两个块。例子:在图1中的矩形组成了两个不同的块。写一个程序:从文件PRO.IN中读入矩形的个数以及它们的顶点。找出这些矩形形成的不同的块的个数。将结果写入文件PRO.OUT。Input在输入文件PRO.IN的第一行又一个整数n,1 <= n <=7000,表原创 2020-08-10 07:48:56 · 192 阅读 · 0 评论 -
【并查集】旅行
DescriptionZ小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光。Z小镇附近共有N个景点(编号为1,2,3,…,N),这些景点被M条道路连接着,所有道路都是双向的,两个景点之间可能有多条道路。也许是为了保护该地的旅游资源,Z小镇有个奇怪的规定,就是对于一条给定的公路Ri,任何在该公路上行驶的车辆速度必须为Vi。速度变化太快使得游客们很不舒服,因此从一个景点前往另一个景点的时候,大家都希望选择行使过程中最大速度和最小速度的比尽可能小的路线,也就是所谓最舒适的路线。Input第一行包含两原创 2020-08-10 08:03:04 · 140 阅读 · 0 评论