摘要: 题目描述:给你一个无向图,问你最少删掉几个点,使这个图成不连通。解题报告:概念(1)一个具有 N 个顶点的图,在去掉任意 k-1 个顶点后 (1<=K<=N) 所得的子图仍连通, 而去掉 K 个顶点后的图不连通则称 G 是连通的, K 称作图 G 的点连通度,记作 K(G) 试设计(2)相应地如果至少去掉 K 条边使这个图不连通,则 K 成为图的边连通度边连通度: 为每条边赋权值为1,然后求确定一点作为源点,枚举此点外的每个点作为汇点求最大流。 也可以用stoer_wagner算法求得无向图的最小割点连通度: 求一个给定的无向图的点连通度,可以转换为求边连通度,怎么转换就如下所示: 阅读全文
posted @ 2012-07-24 22:26 小猴子、 阅读(1602) 评论(1) 推荐(0) 编辑
摘要: Description为了给集训队的训练环境带来点高雅的感觉 ~ 集训队的女队友们决定买些花来作为点缀,可是如果买真花的话会很快枯萎,所以她们决定定制一株假花,它们不会枯萎而且也很漂亮。每棵假花可以用一些点和边来表示,点表示花朵,边表示枝,点被标记为1到n,每棵假花有一个根,规定为1号,每一个点有一个可能不同的造价,每条边也可能不同,所以它们的造价也可能不同,每棵子树定价规定为(所有该子树上的节点的造价和)*(连接该子树与其父节点的边的造价和)。她们希望这株假花尽可能的大,但又想在保持花的节点数不变的情况下使用尽量小的花费,现在请你来编程帮忙解决这个问题。Input输入包含T组,首先给出T的值 阅读全文
posted @ 2012-07-24 17:07 小猴子、 阅读(1258) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一个地图,起点 s,终点 t,和一个数 x,求出s到 t的最短路,且经过的路的条数是 x 的倍数。View Code //哈理工OJ 1066. acm.hrbust.edu.cn//二维dijkstra #include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define llong long longconst int MAXN = 105;const llong INF = -1ULL >> 1;llong n, m, s, t, x; 阅读全文
posted @ 2012-07-24 14:12 小猴子、 阅读(1163) 评论(0) 推荐(0) 编辑
摘要: 第一道最大流题。水题,裸题。Sample Input5 41 2 401 4 202 4 202 3 303 4 10Sample Output50输入m n, m是边数,n是点数。 接下来m行: 起点,终点,最大流量。求以 1 为源点, n为汇点的最大流。#include<stdio.h>#include<string.h>#include<queue>#include<algorithm>using namespace std;const int INF = 0xfffffff;const int MAXN = 200 + 10;//邻接矩阵 阅读全文
posted @ 2012-07-24 00:02 小猴子、 阅读(850) 评论(0) 推荐(0) 编辑