图论
klxwl
当你还不能写出自己满意的程序时,你就不要去睡觉。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Dijkstra求最短路径和次短路径,类似求次大值
首先,有时候题目需要得到的不是最值,而是次值。与我们求最值过程类似,我们求最值,若是最值被替换,原来的最值就变成次值,若是次值可以更新就更新。 没有增加多少难度。 例 USACO 2006 Nov Roadblocks 核心代码for (int j=last[u];j;j=e[j].next) { int v=e[j].to;原创 2016-11-07 17:10:29 · 1425 阅读 · 0 评论 -
Noip2015 D1T2信息传递
题目要求:找最小的环,所以直接dfs搜索。每次从未找过的点出发,从这个点沿着有向边往下,当碰到已经经过的点,说明有环,这时可以计算这个环的点的个数,即当前点的搜索深度-以搜过的点的深度+1.一个点被搜过,就可以搜完整个子图,下一次搜到是说明这个连接图里的最小环之前已经找过了,因此不做理会。Codes#include <cmath>#include <string>#include <map原创 2016-10-17 21:46:48 · 579 阅读 · 0 评论 -
2016国庆集训day3-minimum.cpp
Description 给出一幅由 n 个点 m 条边构成的无向带权图。其中有些点是黑点,另外点是白点。现在每个白点都要与他距离最近的黑点通过最短路连接(如果有很多个,可以选取其中任意一个) , 我们想要使得花费的代价最小。请问这个最小代价是多少?注意:最后选出的边保证每个白点到黑点的距离任然是最短距离。 Input Format 第一行两个整数 n,m第二行 n 个整数,0 表示白点,1 表原创 2016-10-05 21:05:36 · 409 阅读 · 0 评论 -
USACO 建造道路 Building Roads
Description 约翰刚得到了几片新农场!他打算把这些农场连成一片,幸运的是,这些农场之间已经存在M条道路了。已知共有N片农场,方便起见以数字1到N编号。每片农场在平面上的坐标是(Xi , Yi )。请帮助约翰计算最少修建多少长的道路,才能把这些农场连成一片?Input Format 第一行:两个用空格分开的整数:N和M,1 ≤ N ≤ 1000,1 ≤ M ≤ 1000第二行到N +原创 2016-10-20 15:09:22 · 689 阅读 · 0 评论
分享