
图论
heben99
这个作者很懒,什么都没留下…
展开
-
poj 3159 heap+dijkstra
思路:仔细看题,其实就是求1点到n点的最短路,图是有向的,时间卡的比较严,要用静态内存 #include #include using namespace std;const int N = 31000, M = 2500000, INF = 1000000000;#define left(x) ((x)#define right(x) (((x)原创 2008-08-07 20:40:00 · 1374 阅读 · 0 评论 -
usaco 4.1 Fence Loops 最小环
给点各边的连接关系,求最小环,如果给定的是点的关系,可以用floyd简单的求出,但是现在给定的是边的关系,如果转换成点的关系,将会很麻烦,然而最小环也可以用dijkstra来求,枚举每条边,求出到自己的最短路即为最小环的长度 #include #include using namespace std;/*PROG: fence6LANG: C原创 2008-08-21 16:07:00 · 696 阅读 · 0 评论 -
usaco 4.2 The Perfect Stall 二分图最大匹配
这里采用网络流方法解决,建立虚拟源点src,从src到每头牛添边,建立虚拟汇点des,从每个摊点向des添边,每条边的权值都是1,求从src到des的最大流即可 #include #include #include #include using namespace std;/*PROG: stall4LANG: C++ID: he原创 2008-08-22 15:30:00 · 502 阅读 · 0 评论 -
usaco 4.2 Drainage Ditches 网络流
很明显的网络流问题,点数和边数都是200,采用Edmonds_karp的复杂度上限是O(VE^2),实际上一般情况下要比此上限小得多,所以N=200时也能很快解决 #include #include #include #include using namespace std;/*PROG: ditchLANG: C++ID: heben原创 2008-08-22 15:05:00 · 422 阅读 · 0 评论 -
usaco 4.3 Street Race
求有向图割点和分裂点,由于数据很小,直接枚举,去掉某点,然后判断即可,需要注意的地方是分裂点一定是割点 #include #include #include #include using namespace std;/*PROG: race3LANG: C++ID: heben991*/const int N = 110;i原创 2008-08-23 17:38:00 · 705 阅读 · 1 评论