HDU3861 The King’s Problem 缩点变DAG 求分割出最小单连通子图数
摘要:/**State: HDU3861 46MS 1468K 3001 B C++ *题目大意:* 给定一个含有n个点的有向图,然后要求把这个有向图分为多个图,* 要求如果图中有两个点能够互相到达的,必须把它们分为同一个图。* 然后要求分割出来的图中,任意两个点之间一定可以互达。*解题思路:* 题目要求如果图中两个点可以互达,要分为同一个图,那么可以先* 求出强连通分量,然后缩点。之后就是一个ADG,用笔画了很久,发现* 一个ADG要分为多个分量,然后每个分量重每两个点有路径通过,最* 最小分量,其...
阅读全文
posted @
2012-08-16 01:16
cchun
阅读(412)
推荐(0)
HDU1269 迷宫城堡 判断是否为强连通图 图论基础题
摘要:/**State: HDU1269 46MS 1428K 1364 B*题目大意:* 给一个n个点,m条边的有向图,判断该图是否为强连通图*解题思路:* 用tarjan,但是要注意该图可能有连通分量。*/View Code 1 #include <iostream> 2 #include <vector> 3 #include <stdio.h> 4 #include <stack> 5 using namespace std; 6 7 const int MAX = 10005; 8 vector<int> vec[MAX]; 9
阅读全文
posted @
2012-08-16 01:14
cchun
阅读(202)
推荐(0)