
并查集
Neo__Z
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
bzoj1370 团伙 【并查集】
题目描述在某城市里住着 n 个人,任何两个认识的人不是朋友就是敌人,而且满足: 1、我朋友的朋友是我的朋友; 2、我敌人的敌人是我的朋友; 所有是朋友的人组成一个团伙。告诉你关于这 n 个人的 m 条信息,即某两个人是朋友,或者某两个人是敌人,请你编写一个程序,计算出这个城市最多可能有多少个团伙?输入格式第 1 行为 n 和 m ,其中 1输出格式一个整数,表示这 n 个人最多可能有几个团伙。原创 2017-09-09 16:22:41 · 469 阅读 · 0 评论 -
NOIP模拟 纸带 【线段树】【并查集】
题目大意:有一条无限长纸带,上面被划分成若干个格子。现在需要对其进行m次操作,第i此操作将[Li+1,RiL_i+1,R_i]上的数字改为i。问最后可以看到多少种数字。(1≤n≤10000001\le n\le 1000000,1≤L<R≤1091\le L<R\le 10^9)解题思路:先离散化。可以用线段树做,就是裸的标记下传,但这样可能会被卡常:#include<iostream> #incl原创 2017-10-31 20:20:48 · 314 阅读 · 0 评论 -
NOIP模拟 做运动【并查集+最短路】
题目大意:给定无向图G,求在经过最大边最小的情况下S到T的最短路。 2≤\len≤\le500000,1≤\lem≤\le1000000;解题思路:考试时以为最大的最小就是二分套最短路,事实证明nlog2nnlog^2n的复杂度要跑四五秒,gg了。结果要求的最大边就是把所有边排序后从小到大取,使S、T联通的那一条边,接着在所有长度小于等于它的子图上跑最短路就行了。这样就是nlogn的了。#incl原创 2017-10-26 18:51:15 · 468 阅读 · 0 评论 -
bzoj1455 罗马游戏【并查集+可并堆】
解题思路:用并查集维护左偏树(可并堆)中每个节点的根节点即可。#include<bits/stdc++.h> #define ll long long using namespace std;int getint() { int i=0,f=1;char c; for(c=getchar();(c<'0'||c>'9')&&c!='-';c=getchar()); if(c=原创 2017-12-18 18:14:08 · 247 阅读 · 0 评论 -
bzoj4569: [Scoi2016]萌萌哒【稀疏表+并查集】
解题思路: 考虑暴力就是O(n2)O(n^2)用并查集维护那些位置要填的数字相同,若最后有cntcnt个集合,那ans=9∗10cnt−1ans=9*10^{cnt-1}(第一个集合填不能填0)。 考虑类似ST表的方法,第jj层把每个区间划分成前2j2^j位和后2j2^j位,各看做一块。两个块属于同一个集合表示其块内每位对应相同。我们开lognlogn个并查集,每一层记录对应第jj层的相同性,原创 2018-01-11 18:49:57 · 262 阅读 · 0 评论 -
bzoj [Ahoi2013]连通图【cdq分治+并查集】
Description Input Output Sample Input 4 5 1 2 2 3 3 4 4 1 2 4 3 1 5 2 2 3 2 1 2 Sample Output Connected Disconnected Connected HINT N<=100000 M<=200000 K<=100000 解...原创 2018-03-19 10:39:50 · 407 阅读 · 0 评论 -
BJ模拟 相似子串【哈希+并查集】
题目描述: 解题思路: 把26个字母分开hash,每一位只用0和1表示这一位是否是字母i。 询问时也把26个字母分开比较,把等价类里的hash加起来算。 不同处最多为1,即是最后的hash值只会有一个形如baseibaseibase^i的差,判断一下即可。 #include<bits/stdc++.h> #define ll unsigned long long ...原创 2018-04-21 21:20:01 · 252 阅读 · 0 评论 -
loj#2322. 「清华集训 2017」Hello world!【分块+并查集+树状数组】
传送门 解题思路: 考虑对步数分块,对于步数大于S的直接暴力修改查询,步数小于S的建S棵树,第i棵树x先第i个祖先连边,用并查集维护连续是1的一段,树状数组维护查询。 这样修改是O(Slogn)O(Slogn)O(Slogn)的,查询是O(logn)O(logn)O(logn),不知有没有更优秀的复杂度。 #include<iostream> #include<alg...原创 2018-05-31 08:59:22 · 1020 阅读 · 0 评论