强连通分量
空灰冰魂
=NULL
展开
-
【BZOJ3887】【Usaco2015 Jan】Grass Cownoisseur 算法模块有点多
题意: 给一个有向图,然后选一条路径起点终点都为1的路径出来,有一次机会可以沿某条边逆方向走,问最多有多少个点可以被经过?(一个点在路径中无论出现多少次(≥\geq1)对答案的贡献均为1) 题解: 首先强连通分量缩点。 然后形成了dfs统计出: 集合A:点 11 能到哪些点, 集合B:哪些点能到点 11 然后这两个集合各为拓扑图。 现在一条从1出发,最后又回到1的最长路径就可以被原创 2015-03-05 14:13:43 · 1962 阅读 · 0 评论 -
【BZOJ2427】【HAOI2010】软件安装 tarjan+树形背包DP
题解: 首先它可能有环。所以先tarjan缩点。 然后跑树形背包。 代码: #include #include #include #include #define N 120 #define M 600 using namespace std; struct Eli { int v,next; }e[M]; int head[N],cnt; inline void ad原创 2015-03-26 20:23:49 · 1668 阅读 · 0 评论 -
【BZOJ2438】【中山市选2011】杀人游戏 强连通分量+期望
题解: 我并不知道为什么要求SCC,我的想法是A认识B,B认识C,C认识D,D认识A,但C跟A有毛关系?或许是我太弱,并不知道是shenmegui。 但是姑且粘一份AC代码然后跑吧。 代码: #include #include #include #include #define N 101000 #define M 301000 #define inf 0x3f3f3f3f u原创 2015-03-23 00:10:17 · 1693 阅读 · 0 评论