摘要:
题目链接:传送门 思路:求A到B之间必要的中间节点 条件:(1)只有一条路径经过中间节点;(low[B]>=num[u]&&num[v]<=num[B],没有从B到u的路径) (2)中间节点不能和A,B重合(u!=A&&num[v]<=num[B],先v后B) (3)中间节点一定是割点(num[u] 阅读全文
摘要:
题目链接:传送门 思路: (1)这道题的图可能不连通,所以需要多次Tarjan; (2)设置cut[i]=x数组表示第i个节点被删除后右多少个子图(这个只是在一个图中),如果是根节点就要-1,因为根节点都满足 num[v]==low[u]. (3)mx的初始值设为最小值(-9999999),因为有可 阅读全文
摘要:
题目链接:传送门 思路:找桥就行了,条件是num[v]<low[u],pre!=v; #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<algorithm> #include<stack> 阅读全文
摘要:
题目链接:传送门 思路: 就是求割点的个数,直接Tarjan算法就行。 注意输入格式(判断比较水)。 #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<string> #include<st 阅读全文
摘要:
题目链接:传送门 思路: 如果图是点双联通的,即没有割点,直接从图中随意选两个点即可; 如果有一个割点,删除割点,求连通块的个数即可(在每个连通块内新建一个营救点)。 如果有多个割点,则可以通过其他割点到达,就不用新建营救点。 #include<iostream> #include<cstdio> 阅读全文