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