tarjan
suclliant
流年笑掷 未来可期
展开
-
tarjan缩点
tarjan缩点的方法:用tarjan求强连通分量,然后将同一个强连通分量中的点合成到同一个新节点中(需要借助一个belong数组)。 题目链接:P3387缩点 思路:先缩点,新节点的值等于强连通分量中所有节点权值之和。缩点之后就由原图得到了一张新图(其实是一棵树),然后再dfs,求出从根节点到叶子节点权值之和的最大值(dp)。 代码: #include <cstdio> ...原创 2019-08-12 15:17:47 · 1236 阅读 · 0 评论 -
tarjan求割点和桥(割边)
tarjan求割点和桥 参考博客:tarjan求割点和桥(割边) 例题:割点 代码(重要的地方在代码中都有注释): #include<bits/stdc++.h> #define ll long long using namespace std; const ll M=2e4+10,maxn=3e6+30; int dfn[M],low[M],tot; int e[M&l...原创 2019-08-12 15:20:31 · 458 阅读 · 0 评论