HDU 2767:Proving Equivalences(强连通)
摘要:
题意:一个有向图,问最少加几条边,能让它强连通方法:1:tarjan 缩点2:采用如下构造法: 缩点后的图找到所有头结点和尾结点,那么,可以这么构造:把所有的尾结点连一条边到头结点,就必然可以是强连通了。如果说有几个结点不连通,那么让他们的尾结点相互只向对方的头结点就好了。那么,最后的答案就是,头结点和尾结点中比较小的那个数量。当然,如果缩点后只有一个点,那么就是0;代码:#include #include #include #include using namespace std;#define N 20010using namespace std;vector to[N];vector . 阅读全文
posted @ 2014-04-09 22:03 ShineCheng 阅读(140) 评论(0) 推荐(0) 编辑