并查集
文章平均质量分 68
Faithfully__xly
这个作者很懒,什么都没留下…
展开
-
并查集删除点 - Junk-Mail Filter(HDU2473)
传送门Analysis最粗暴的想法:删除一个点,就将这个点的father设为自己显然,错误因为与这个点相连的其他点的父亲仍然没变比如1,2,3的父亲都是1,现在删除1,1的父亲还是1,2,3也是1,集合还是1个,正确的应该是2个。那稍微思考一下后:删除一个点,就为这个点的father设一个新的节点可是,还是错误比如1,2,3的父亲都是1,现在删除1,1的父亲设为4,2,3目前...原创 2019-10-28 10:00:48 · 170 阅读 · 0 评论 -
最短路树+并查集 - 安全出行Safe Travel(usaco 2009)
描述输入第一行: 两个空格分开的数, N和M第2…M+1行: 三个空格分开的数a_i, b_i,和t_i输出第1…N-1行: 第i行包含一个数:从牛棚_1到牛棚_i+1并且避免从牛棚1到牛棚i+1最短路经上最后一条牛路的最少的时间.如果这样的路经不存在,输出-1.样例输入4 51 2 21 3 23 4 43 2 12 4 3样例输出336Analysis只...原创 2019-02-19 15:53:28 · 473 阅读 · 0 评论 -
离线+并查集 - Mootube
mootube描述给定一颗N个节点的树,定义两点距离为他们之间路径中边权最小值。Q次询问K,V,询问到V距离>=K的点有多少(不含V)输入第一行两个整数N,Q。接下来N-1行,每行3个整数u,v,w表示u,v之间有条路径,长为w接下来Q组询问,每组询问2个整数k,V输出Q行回答询问样例输入4 31 2 32 3 22 4 41 24 13 1样例输出3...原创 2019-01-27 11:25:40 · 624 阅读 · 0 评论 -
并查集 - 食物链(NOI 2001)(简单易懂)
题目描述:动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B ,B 吃 C ,C 吃 A 。现有 N 个动物,以 1~N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是“1 X Y”,表示 X 和 Y 是同类。第二种说法是“2 X Y”,表示 X 吃 Y 。此...原创 2018-11-06 17:24:18 · 180 阅读 · 0 评论 -
边带权并查集 - Dragon Balls(HDU3635)
传送门题意有n个点,一开始每个点构成一个集合之后有两个操作:操作1 M A B:将和A属于一个集合中的所有点都转移到B所在的集合操作2 QA:询问A所在的集合,以及该集合中的点数,以及A这个点被转移的次数Analysis询问操作中也就只有点被转移的次数需要动一下脑子(并查集好喵喵妙啊)每一个点被转移的时候就在它所在集合的顶端更新转移次数最后查询的时候就直接将这个点到其祖先的路...原创 2018-11-06 15:32:54 · 215 阅读 · 0 评论 -
NOIP2017提高组DAY2T1 - 奶酪
题意输入每个输入文件包含多组数据。输入文件的第一行,包含一个正整数 T,代表该输入文件中所含的数据组数。接下来是 T 组数据,每组数据的格式如下:第一行包含三个正整数 n, h 和 r, 两个数之间以一个空格分开,分别代表奶酪中空 洞的数量,奶酪的高度和空洞的半径。接下来的 n 行,每行包含三个整数 x、 y、 z, 两个数之间以一个空格分开, 表示空 洞球心坐标为(x, y, z)...原创 2018-11-01 17:49:27 · 373 阅读 · 0 评论 -
0802-并查集-BZOJ1370 Gang团伙(水题)
传送门由于题目描述清晰易懂,我就不用转述啦,大家自己打开看看就是了(只是我觉得 input 可能写的不是很清楚,应该是E-->enemy 敌人,F-->friend 朋友) 题解:这是一道很并查集的并查集的题了,直接把是朋友的合并在一起,把敌人的敌人和自己合并在一起。大致操作就是用一个en [ i ] 数组来表示 i 的上一个敌人是谁,每次读入到它的下一个敌人就...原创 2018-08-02 15:23:14 · 194 阅读 · 0 评论 -
0731-并查集-HDU2473
传送门这题面好长啊又长又臭的题目最讨厌了,而且还是英文,那我就稍微转述一下呗 大致题意:你的程序应该支持合并 a,b 将 a 从它所在的集合中删除出来,然后放在一个新集合里 最后统计共有多少个集合,并输出 题解:唯一会被卡住的地方就是操作2,之前 dzy 大佬讲过有一个300多行的代码可以解决删除操作(吓坏%>_<%)但其实对于操作2 我们直接新...原创 2018-08-01 13:32:19 · 119 阅读 · 0 评论 -
0720-并查集+栈-CF 500 E
多米诺骨牌描述有n个多米诺骨牌,从左到右排列,每一个骨牌都有一个高度Li,向右推倒,它会直接向右倒下,如下图,倒下后该骨牌的顶端落在Xi+Li的位置,(Xi是它位于的坐标,即倒下时该骨牌不会发生移动)在倒下过程中,骨牌会碰到其他骨牌,碰到的骨牌会向右倒,如下图,最左边的骨牌倒下会碰倒A,B,C,A,B,C会倒下,但是不会直接碰到D,但是D会因为C的倒下而碰倒。现在给你N个...原创 2018-07-20 10:21:00 · 124 阅读 · 0 评论 -
0731-并查集-按秩合并
一般而言,并查集算法有两种:路径压缩(通常情况下会快一些) 按秩合并由于路径压缩很常用,我只是简单贴个代码,今天主讲按秩合并int find (int x) { return x==fa[x]?x:fa[x]=find(fa[x]); }没错,这就是路径压缩的装13写法,大概就是 fa [ i ]存的是 i 的祖先(不是daddy,是daddy的daddy的daddy的da...原创 2018-07-31 15:05:31 · 1050 阅读 · 7 评论 -
0731-并查集-BZOJ1050-旅行
传送门不想复制题目了。。大致题意:给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T,求一条路径,使得路径上最大边和最小边的比值最小。 题解:由于我们看到 n 和 m 的范围如此之小,就可以想到固定一个最大值或最小值,然后枚举求解即可具体做法:我们按边权从小排到大,每次...原创 2018-07-31 16:00:05 · 235 阅读 · 0 评论 -
0731-倍增+并查集-BZOJ4569-萌萌哒
传送门4569: [Scoi2016]萌萌哒Description一个长度为n的大数,用S1S2S3...Sn表示,其中Si表示数的第i位,S1是数的最高位,告诉你一些限制条件,每个条件表示为四个数,l1,r1,l2,r2,即两个长度相同的区间,表示子串Sl1Sl1+1Sl1+2...Sr1与Sl2Sl2+1Sl2+2...Sr2完全相同。比如n=6时,某限制条件l1=1,r1...原创 2018-07-31 14:22:14 · 227 阅读 · 0 评论