题目大意:维护一张弦图,支持加边、删边和询问图中有多少个联通块
暴力题233
直接做O(qn+qm)会挂 因此我们预先将m条边中自始至终不会被删除的边用并查集缩点
这样图中的边就只有O(q)条 暴力即可
时间复杂度O(nq+q^2)
很疑惑为什么要给一张弦图- - 去找了下没看到类似于动态弦图的东西- -
#include
#include
#include
#include...
分类:
其他好文 时间:
2015-03-01 13:19:26
阅读次数:
169
题目大意:给定一张无向图,每个点有边权,给每个联通块大小一个喜爱度,求一个最小的区间,使保留这个区间内的所有边权的边时喜爱度之和最大
nm
脑残没法治系列……
如果暴力枚举区间并每次计算喜爱度,时间复杂度为O(nm^2),超时
固定一个左端点,将右端点右移,每次用并查集加边并维护喜爱度之和,时间复杂度O(m^2)
然后这题就做完了= =
#include
#include
#inc...
分类:
其他好文 时间:
2015-02-27 10:15:10
阅读次数:
113
14: 关键字 强联通 题目求最多加多少条边使图不不再是一个强联通我们逆向思维:先假设n*(n-1)边 那么一定强联通 ,问最少减去多少条边 不再联通那么只要枚举一个联通块就可以因为其他边肯定与他有联系CODE:#pragma comment(linker,"/STACK:1024000...
分类:
其他好文 时间:
2015-02-18 06:09:15
阅读次数:
229
这是一个比较全面的题,涉及到了添加删除寻找第k大还有树的合并。做法大概先执行所有的删边操作,建立最终的图,这里可以用并查集维护一下, 方便判断是不是在一个联通块中,然后对每个子块建立一个Treap,如果遇到添加边导致两个联通块合并成一个的情况,就将两棵树当中小的那个合并到大的那个里面。因为每次这样的...
分类:
其他好文 时间:
2015-02-06 12:58:14
阅读次数:
190
题目大意:求n个点能组成多少种无向连通图
多年的老心病终于干掉了- -
令f[i]表示i个点能组成多少种无向图
首先易知我们能生成2^(i*(i-1)/2)种图 但是一些是不合法的 我们要将不合法的干掉
枚举1号节点与多少个点连通
设1号节点所在联通块大小为j(1
那么与1相连的其它点有C(i-1,j-1)中选法,1号节点所在联通块有f[j]种连法,不与1号节点相连的点有2^((i-j...
分类:
其他好文 时间:
2015-02-05 11:16:19
阅读次数:
101
题目大意:给定一个无向图,要求将一些点红黑染色,使每个点及其相连的点中至少有一个黑色的点和一个红色的点
逗比题ぽい~
对于任意一个大小>=2的连通图,我们只需要搞出这个图的任意一棵生成树,将这棵生成树撸成二分图再染色就一定能满足要求的ぽい~
因此无法满足要求当且仅当存在一个大小为1的联通块ぽい~
并查集即可ぽい~
#include
#include
#include
#includ...
分类:
其他好文 时间:
2015-02-02 21:36:15
阅读次数:
183
http://www.lydsy.com/JudgeOnline/problem.php?id=2435noi 你为什么那么diao, 这种世纪水题刷一道少一道啊。。。 我原来还以为是两边的联通块大小按已经连接上的点来算,然后发现是按照最后的联通块来算的(' ' ) 直接每个点 abs(n - 2....
分类:
其他好文 时间:
2015-01-28 00:48:02
阅读次数:
193
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2561考虑做mst的时候,什么时候这条边不在这棵mst上呢? 就是比他小的权值的边讲这条边的两边并进了一个联通块里面,那么对于所有的小于所求边的权值的边建一个图,然后求一个最小割使得U, V 不...
分类:
其他好文 时间:
2015-01-27 01:45:39
阅读次数:
223
对一棵树黑白染色一定符合题意。图一定有生成树。因此,仅有一个孤立节点的联通块不合题意。DFS。#includeusing namespace std;int n,m,en,x,y,v[1000001],first[500001],next[1000001],cnt;bool vis[500001];...
分类:
其他好文 时间:
2015-01-25 07:39:30
阅读次数:
246
C:题目中步数看似很多,其实最多就增长250步左右,因为移动的步数为1 + 2 + 3 + .. n,所以大概只会有sqrt(n)步,所以dp[i][j]表示在i位置,增长为j步的值,然后转移即可
D:这题其实对于一个联通块,最多只需要n条边,最少要n - 1条,那么判断的条件,就是这个联通块是否有环,利用拓扑排序去判即可
代码:
C:
#include
#include
#inclu...
分类:
其他好文 时间:
2015-01-22 07:00:06
阅读次数:
212