tarjan
HumveeA6
这个作者很懒,什么都没留下…
展开
-
强联通分量tarjan算法(模板)
没啥好说的,唯一要注意的就是那些单独的点每个点都会被当做自身一个强联通分量,也就是有不少的强连通分量里面可能只有一个元素……直接上代码 int dfn[105],low[105],scccnt=0,sccindex=0,belong[105]; bool instack[105]; stack<int>sta; vector<int>G[105]; void tarjan...原创 2018-03-07 20:42:31 · 272 阅读 · 0 评论 -
洛谷P3387
思路就是跑tarjan缩点,把同一个联通分量里的点全部缩成一个点,所有的权值都记在这个点上,然后根据tarjan的结果,在不同联通分量之间重新建图,联通分量里连出去的边现在全部归结到剩余的这个点上,连进来的边也同理。然后统计那些入度为0的点,它们肯定能跑出最好的结果,因为入度不为0的点肯定会被那些入度为0的点跑到。对于这些点每个点跑一次spfa,统计答案即可。实际操作中一定要小心…很容易出错… ...原创 2018-03-08 13:13:12 · 305 阅读 · 0 评论 -
(模板)割点(割顶)tarjan类算法
题目的大致描述:给出一个n个点,m条边的无向图,求图的割点。 个人说不清楚,放几个图吧 代码如下: vector<int>G[100005]; int sccindex=0,low[100005],dfn[100005]; bool vis[100005],gd[100005]; int ans=0; void tarjan(int v,int fa)//其实这题...原创 2018-03-08 16:45:55 · 365 阅读 · 0 评论