首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
equivalences专题
HDU2767Proving Equivalences(强连通+缩点+ 至少加几条边让整个图变成强连通))
题意: 至少加几条边让整个图变成强连通。 思路:对于N个点的图,我们知道至少需要N条边才能使这个图强连通,现在我们先对题目的图计算一下强连通,对于已经在一个强连通的点,把他们看做为一个点,然后对新形成的图,计算出度,入度为0的最大值,因为,加一边,可以使入度,出度加一。 #include<cstdio>#include<iostream>#include<algorithm>#incl
阅读更多...
uva 12167 - Proving Equivalences(强连通)
题目链接:uva 12167 - Proving Equivalences #include <cstdio>#include <cstring>#include <vector>#include <stack>#include <algorithm>using namespace std;const int maxn = 20005;int N, M, in[maxn], o
阅读更多...
Proving Equivalences HDU - 2767
点击打开链接 求再加多少边可以使整个图构成一强连通分量 tarjan缩点即可 一开始想找缩点后有多少链 再把链连起来。。发现错的离谱 找入度为零的点和出度为零的点各有多少 取最大值即可 有点贪心的意思 因为把两个强连通分量连接的最好办法就是将度为零的点相连 还有注意坑点 只有一个强连通分量时要直接输出0 #include <bits/stdc++.h>using namespa
阅读更多...