几乎是板子,求有几个size 1的scc 直接tarjan即可 cpp include include include using namespace std; const int N=10005; int n,m,h[N],cnt,ans,tmp,dfn[N],low[N],s[N],top; b ...
分类:
其他好文 时间:
2018-05-09 18:00:43
阅读次数:
143
题意:给你一个有向图,每个点有一个权值,有一个起点和q个终点,没经过一个点加上这个点的权值,让你选一条路,问你最大值是多少。 思路:tarjan强连通缩个点, 然后在拓扑图上dp一下就好啦, 注意第二次建图建反向边会好一点。 ...
分类:
其他好文 时间:
2018-05-07 17:45:34
阅读次数:
207
一、强连通分量定义 有向图强连通分量在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(stronglyconnected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通 ...
分类:
其他好文 时间:
2018-05-06 14:50:06
阅读次数:
203
对这个奇形怪状的图tarjan,然后重新连边把图变成DAG,然后记忆化搜索即可 cpp include include using namespace std; const int N=100005; int n,a[N],h[N],cnt,dfn[N],low[N],tot,s[N],top,bl ...
分类:
其他好文 时间:
2018-05-05 15:31:32
阅读次数:
157
为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间。Gardon需要请你写个程序确认一下是否 ...
分类:
其他好文 时间:
2018-05-04 18:34:29
阅读次数:
157
【传送门:BZOJ2730】 简要题意: 给出m条无向边,每个点有人,有时候会出现一个点崩塌,使得这个点和与这个点相连的边都不能经过 可以在某些点设置安全出口,其它可以到达这些点的点上的人可以逃出去 请问至少设置多少个安全出口和求出最少安全出口的情况下有多少种设置的方案 题解: Tarjan求割点例 ...
分类:
其他好文 时间:
2018-04-28 14:22:45
阅读次数:
126
题目:http://poj.org/problem?id=3417 根据一条边被几个环覆盖来判断能不能删、有几种情况等; 用树上差分,终点 s++,LCA s-=2,统计时计算子树s值的和即可; 用ST表做LCA,不知为何WA了,于是改成了tarjan,过程中求答案; 注意非树边加边时判掉x=y的情 ...
分类:
Web程序 时间:
2018-04-24 20:15:57
阅读次数:
220
来一道裸代码。输入:一个图有向图。输出:它每个强连通分量。 这个图就是刚才讲的那个图。一模一样。 input: 6 8 1 3 1 2 2 4 3 4 3 5 4 6 4 1 5 6 output: 6 5 3 4 2 1 代码: 还有各大理解网站: (杂着看,就可以看懂) http://blog. ...
分类:
其他好文 时间:
2018-04-23 22:43:49
阅读次数:
217
题目大意: 给定一张无向图,求删去一个点以后有多少个有序点对不连通。 题解:在Tarjan的过程中记录不能到达这个节点以上的子树和,统计答案。 代码: ...
分类:
其他好文 时间:
2018-04-20 22:08:58
阅读次数:
140
?对于u的子节点v,从v出发进行的DFS结束回到u时,使得 low[u] = min(low[u],low[v])。因为u可达v,所以v可达的最早的节点,也是u可达的。 ?如果一个节点u,从其出发进行的DFS已经全部完成并回到u,而且此时其low值等于dfn值,则说明u可达的所有节点,都不能到达任何 ...
分类:
编程语言 时间:
2018-04-20 00:13:08
阅读次数:
216