图论
team79
我在努力。
展开
-
《算法导论(第二版)》习题22.1-6:图的通用汇点(Universal Sink)
以上是下面这个找通用汇点的子函数 当看了这个算法后真心为算法的美所倾倒啊。 上面这个算法经过while后,要是有通用汇点一定是 i。 因为前i行肯定有1,所以前i-1个点不可能是通用汇点,而对于后v-i行,在他们的上面肯定有0 这是不允许的,所以要是有通用汇点一定是(i,i) 然后再判断下到 底 i 是不是通用汇点。原创 2013-07-10 16:16:44 · 2033 阅读 · 0 评论 -
hdu 1102 最小生成树
AC代码如下: #include #include #include #include #include using namespace std; #define MAX 0x3f3f3f3f int main(){ int weight[111][111]; int lowcost[111]; int N, ans; while( scanf(原创 2013-11-08 15:25:44 · 769 阅读 · 0 评论 -
hdu 1233 最小生成树
AC代码如下: #include #include #include #include using namespace std; #define MAX 0x3f3f3f3f int main(){ int weight[100][100]; int lowcost[100]; int N, ans; while( scanf( "%d", &N ) , N ){ me原创 2013-11-08 19:48:54 · 758 阅读 · 0 评论 -
hdu 1863 最小生成树
数组开到100 会WA AC代码如下: #include #include #include #include #include using namespace std; #define MAX 0x3f3f3f3f int main(){ int N, M; int weight[111][111]; int lowcost[222]; int ans; while原创 2013-11-08 20:24:31 · 727 阅读 · 0 评论 -
hdu 2122 最小生成树
AC代码如下: #include #include #include #include using namespace std; #define MAX 0x3f3f3f3f int weight[1001][1001]; int main(){ int lowcost[1001]; int N, M, ans; int flag = 0; wh原创 2013-11-08 19:24:36 · 1112 阅读 · 0 评论 -
poj 1125 最短路径
应用佛洛依德算法,在写三个循环的时候顺序要注意! Floyd-Warshall算法的原理是动态规划。 设为从到的只以集合中的节点为中间节点的最短路径的长度。 若最短路径经过点k,则;若最短路径不经过点k,则。 因此,。 在实际算法中,为了节约空间,可以直接在原来空间上进行迭代,这样空间可降至二维。 AC代码如下: #include #include #in原创 2014-02-08 13:53:15 · 763 阅读 · 0 评论 -
HDU杭电acm题目分类大全
1001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最近点对问题,用分治 1008 简单题 1009 贪心转载 2013-07-04 15:14:38 · 1234 阅读 · 0 评论 -
poj 1063 最短路
用优惠价表示边,求最短路之后,求node【i】。p+dis【i】的最小值 要注意题目中的一句话但是如果他和某个地位较低的人进行了交易,地位较高的的人不会再和他交易,他们认为这样等于是间接接触,反过来也一样。所以,可以枚举等级区间,对每个区间来求最短路 AC代码如下: #include #include #include #include using namespace std; #原创 2014-03-19 22:13:30 · 651 阅读 · 0 评论 -
poj 1330 LCA
LCA(u)的作用是,使所有已经通过深搜搜到了的u的子节点原创 2014-05-10 10:52:48 · 487 阅读 · 0 评论