摘要: https://vjudge.net/problem/CodeForces-652E 边双啊,就是点双那个tarjan里面,如果low[v]==dfn[v](等同于low[v]>dfn[u]),表示v及其子节点只能访问到v本身,不能访问到v的祖先,那么边(u,v)是一条桥 然后再dfs一遍,不经过桥 阅读全文
posted @ 2018-07-10 16:06 hehe_54321 阅读(300) 评论(0) 推荐(0) 编辑
摘要: https://vjudge.net/problem/HDU-3686 点双啊,就是在求割顶的时候,另外用一个栈来存一些边 在遍历u点出发的边时,遇到树边或反向边(u,v)就把此边加入栈(可能要记一下边的编号)(但是,如果(u,v)是反过来看的反向边(此时dfn[v]>=dfn[u];实际反向边应该 阅读全文
posted @ 2018-07-10 13:17 hehe_54321 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 查询,就相当于先删去这条边,然后查询边的两个端点所在连通块大小,乘起来得到答案,然后再把边加回去 可以用线段树分治做 阅读全文
posted @ 2018-07-10 09:35 hehe_54321 阅读(225) 评论(0) 推荐(0) 编辑
AmazingCounters.com