思路 这题的意思是,如果把这些点打掉,其他的点是否能够完全不连通。 用并查集,或者打上标记之后,判断每个点是否还能到达其他点,如果一个点可以到达其他任何点,都应该输出否。 代码 ...
分类:
其他好文 时间:
2020-02-20 22:06:14
阅读次数:
67
1.什么是并查集 并查集是用来管理元素分组的数据结构。可以高效进行如下操作: 查询元素a、b十是否在同一组 合并a、b所在的组 并查集可以进行合并操作但不能进行分割操作。 2.并查集的结构 并查集采用多叉树形结构实现,每个元素对应一个结点,每个组对应一棵树。重点关注结整体形成一个树形结构,而不是树的 ...
分类:
编程语言 时间:
2020-02-17 19:25:41
阅读次数:
106
给出一个 n 个点 m条边的无向图,每条边有边权,共 Q次询问,每次给出 $k$条边,问这些边能否同时在一棵最小生成树上。 Solution 所有最小生成树中某权值的边的数量是一定的 加完小于某权值的所有边后图的连通性是一样的 对于每个询问,每种权值分开考虑 对每个权值,加完小于这条边的权值后的所有 ...
分类:
其他好文 时间:
2020-02-16 20:37:36
阅读次数:
87
Description "link" 题意:给一个全$0$矩阵,每次支持一个修改,修改不还原(这要是还原了不就成$A$题了) 然后询问每一次修改完了当前矩阵的连通块个数 每一个修改的值单调不降 修改次数 $\leq 10^6$ Solution 这个是一道并查集题(感觉我原来从来没有写过任何并查集维 ...
分类:
其他好文 时间:
2020-02-16 16:38:36
阅读次数:
66
分块+并查集,大板子,没了。 并查集不路径压缩,可撤销,然后暴力删除 这样对于每个块都是独立的,所以直接搞就行了。 然后块内修改操作搞掉,就是单独的了 ...
用并查集判断图是否连通,以及是否存在环~ #include<cstdio> #include<algorithm> #include<cstring> #include<vector> #include<unordered_map> using namespace std; const int ma ...
分类:
其他好文 时间:
2020-02-13 23:21:32
阅读次数:
116
单向并查集,问至少给几个点可以遍历全图,连通块数量n,入度为0的点的数量m,取max(n,m)~ #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=1e6+14; in ...
分类:
其他好文 时间:
2020-02-13 23:19:04
阅读次数:
104
基础并查集~ #include<cstdio> #include<algorithm> #include<cstring> #include<unordered_map> #include<iostream> #include<string> using namespace std; const i ...
分类:
其他好文 时间:
2020-02-13 22:48:22
阅读次数:
94
并查集算连通块的数量,集合的个数就是必然不开心的人数,再跑bfs,用优先队列维护~ #include<bits/stdc++.h> using namespace std; const int maxn=1e6+14; vector<int> g[maxn]; int father[maxn]; i ...
分类:
其他好文 时间:
2020-02-13 19:20:12
阅读次数:
48
题外话 开始没看懂D题意跳了,发现F题难写又跳回来了。。 语文好差,码力好差 A 判第一个$1$跟最后一个$1$中$0$的个数即可 B 乘乘除除就完事了 C 用并查集判一下联通,每个联通块内必须为一条链 E 枚举$t$串的断点,然后$f_{i,j}$表示匹配到s串的第$i$个,$t$串的第一节的第$ ...
分类:
其他好文 时间:
2020-02-13 09:33:05
阅读次数:
41