并查集
i_lovelife
1111
展开
-
hdu5354 Bipartite Graph
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5354 题意:求删去每个点后图是否存在奇环(n,m<=1e5) 分析:看上去无从下手,这题的思路还是比较神奇。 首先判断图是否存在奇环,可以采用dfs(染色判定)或者并查集的方法,对于这道题来说,染色每次都要遍历全图,复杂度显然吃不消,我们考虑并查集。 并查集判断图是否存在奇环,核心在于每个节点要维护原创 2015-08-12 20:37:55 · 1277 阅读 · 0 评论 -
Codeforces Round #319 (Div. 1)E.Painting Edges(并查集)
题意:给出n个点,m条边的一张无向图,给出q个操作,每次给一条边染色,假如染色后相同颜色构成的边仍然是二分图,则输出YES并且执行这次染色,否则输出NO并跳过这次染色 n<=50w,m<=50w,颜色数k<=50,q<=50w分析:经典的题目。套用分治+并查集可以解决这类带删边的判定图的联通性或者是否是二分图的问题。思路就是给每个修改一个作用域(l,r),按照时间分治solve(L,R),假如(l原创 2015-09-18 15:07:52 · 585 阅读 · 0 评论 -
HDU5599GTW likes tree
题目 题意:给出一棵点有权的树,求∏i,jgcd(val[i],....val[j])\prod_{i,j}gcd(val[i],....val[j]),就是求所有路径gcd的乘积,保证1<=val[i]<=1051<=val[i]<=10^5分析:一个简单的思路就是暴力树dp,开一个vector记录每个点向下连出去的gcd的情况,通过前缀积的做法可以做到O(n∗fac)O(n* fac),然而比原创 2015-12-15 21:42:45 · 521 阅读 · 0 评论