要使得路径上边的最大值最小,实际上就是沿着最小生成树走,就满足条件。故先求出最小生成树,然后保存,在dfs一遍搜索路径。
VIEW CODE
//#pragma comment(linker, "/STACK:102400000,102400000")
#include
#include
#include
#include
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2015-01-29 14:45:32
阅读次数:
137
题目链接:http://codeforces.com/contest/505/problem/D
题目大意:
在一个图中,有n个顶点,给出m对数字(u,v)表示顶点u和顶点v必须直接或者间接相连,让你构造一个这样的图,输出最少需要多少条边。
分析:
毫无疑问,n个顶点的话,我们最多可以用n条边,使得n个顶点构成一个环,满足所有的情况(任意两点都是联通的),但是这并不一定是最少的边。
于是...
分类:
移动开发 时间:
2015-01-28 17:57:22
阅读次数:
209
dij 模板
通过 poj 2387 求去点1 -点 n 的最短路径
#include
#include
#include
#include
#include
using namespace std;
const int MAXV = 4010;
const int inf = 10000000;
int map[MAXV][MAXV];//路径长度
int d[MAXV];/...
分类:
其他好文 时间:
2015-01-28 14:44:15
阅读次数:
169
这题是最小生成树的一种扩展,就是求一棵树 使得
最小。 其中cost 为每条边花费,len为长度。 这实际上就是一个最优比例生成树。最优比例生成树的求解使用了分数规划的方法。 我们先任取k,假设k是最小值,那么sigma(ccost)-k*sigma(len)==0 。那么我们就新建图边权 为 ccosti-k*leni 。求一次最小生成树,如果生成树权值小于0,那么书名其实...
分类:
其他好文 时间:
2015-01-28 13:10:54
阅读次数:
124
poj1251 Jungle Roads
思路:最小生成树 解题报告Here
CodeForces 472D Design Tutorial: Inverse the Problem
思路:最小生成树 解题报告Here
poj1789 Truck History
思路:最小生成树 解题报告Here
...
分类:
其他好文 时间:
2015-01-28 09:59:09
阅读次数:
196
次小生成树模板
通过poj 1679
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define INF 10000000
/*
* 次小生成树
* 求最小生成树时,用数组Max[i][j]来表示MST中i到j最大边权
...
分类:
其他好文 时间:
2015-01-27 15:05:28
阅读次数:
119
题意: 给一个n*m的棋盘,在上面放上车,放的车之间不能相互攻击(在同一行或者同一列就能相互攻击),并且只有某些点能放车。 问最多能放多少车,其中有多少个格子必须放才能放最多的车。
这是一道很好的理解匈牙利算法的题目。 首先我们求最多放多少车,这是一个行列匹配问题。假设我们用n个左边的点代表行 ,m个右边的点放在右边,如果一个格子(x,y)能放车,那么将左边的x和右边的y连接一起建一条边。这个...
分类:
编程语言 时间:
2015-01-26 22:54:40
阅读次数:
320
通过:poj-1287
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define INF 10000000
int n, m;
int a, b, c;
int map[100][100], dis[100], v[100];
int prim(in...
分类:
其他好文 时间:
2015-01-25 13:53:33
阅读次数:
155
在一个群里面,大家互相请教问题,比如A请教B,我们就把B叫做师傅,把A叫做徒弟,这样会产生很多“师傅——徒弟”的关系,一个徒弟可以有很多的师傅,一个师傅也可以有很多徒弟,这是合法的,但是不能出现A是B的师傅而且B是A的师傅,或者A是B的徒弟而且B是A的徒弟,或者在一个更大的关系环里面出现这种情况。很明显题目的意思就是,判断一个给定的有向图中是否存在环。了解了这些,解题方法就非常简单了,那就是直接进...
分类:
其他好文 时间:
2015-01-25 00:10:59
阅读次数:
204
/*
并查集模板
by:mfcheer
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define N 100010
int n, m;
int fa[N];
int...
分类:
其他好文 时间:
2015-01-24 18:47:09
阅读次数:
189