
图论-缩点
Endless_Way
这个作者很懒,什么都没留下…
展开
-
BZOJ 1051 [HAOI2006]受欢迎的牛
缩点对于一个强连通分量,里面的所有点都是等效的,任意一个点被欢迎等价于全部被欢迎,任意一个去欢迎等价于全部去欢迎,于是把他们缩起来。缩完得到一棵树,只需判断出度为零点是否唯一即可#include<cstdio>#include<algorithm>#define N 10005#define M 50005using namespace std;struct edge{int next,t原创 2016-09-14 10:26:44 · 322 阅读 · 0 评论 -
BZOJ 2208 [Jsoi2010]连通数
缩点+bitset+DP先缩点。每一块的答案是他能到达的(包括自己)所有块的siz和自己的siz相乘的和,于是对缩点后的拓扑图进行DP即可。#include<cstdio>#include<queue>#include<bitset>#include<algorithm>#define N 2005using namespace std;bitset<N> f[N];queue<int原创 2016-09-27 14:50:53 · 390 阅读 · 0 评论 -
BZOJ 2959 长跑
LCT+缩边双+并查集 显然如果进入一个边双联通分量,那一定能取遍所有点再出来.于是只要维护边双即可.对于加边,需要缩点,用LCT即可,判断是不是在一个边双里用个并查集就行. 此题时限比较紧.注意到在缩点之后,LCT上的操基本只有access需要查询真实父亲(因为缩点之后的点单独属于一个分量),其他操作并不需要查并查集.把这个优化掉就能过了...?#include<cstdio>#include<原创 2017-02-08 23:25:55 · 328 阅读 · 0 评论