随笔分类 -  图论——最短路

摘要:题目连接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1347代码:/*顶点从0开始标号,工作地点在0,家在1。 * 先用dijkstra求出顶点1到每个点的最短路径。 * 结果记录在dist[]中。 * 然后DP思想求解答案。 * DFS搜索每一个顶点,要求这个点到1号点的距离大于前一个点到1号点的距离。 * 所谓前一个点就是从那个点搜到当前点的点。 * 每一步结果保存在ans[]中 */#include<stdio.h>#include<string.h& 阅读全文
posted @ 2012-11-15 12:53 小猴子、 阅读(3234) 评论(0) 推荐(0)
摘要:题目连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1750题目大意:给出n个字典,接下来n行第一个是查看字典的时间,后面接的是这个成语,要求把每条成语连起来,以成语接龙的形式。字符串代表成语,如果第一个串的后4个字符与第二个串的前4个字符相等,那么说明它们能连起来,用的时间是第一个成语的时间,每组数据输入的第一个成语和最后一个成语为已知的。输出最少的时间,不能完成则输出-1.思路:转换成最短路。每个成语代表一个节点,如果两个成语能连起来那么就在这两个节点之间连一条路,权值为第一个成语的时间,求第一个成语到最后一条成语 阅读全文
posted @ 2012-11-13 23:56 小猴子、 阅读(572) 评论(0) 推荐(0)
摘要:Description为了给集训队的训练环境带来点高雅的感觉 ~ 集训队的女队友们决定买些花来作为点缀,可是如果买真花的话会很快枯萎,所以她们决定定制一株假花,它们不会枯萎而且也很漂亮。每棵假花可以用一些点和边来表示,点表示花朵,边表示枝,点被标记为1到n,每棵假花有一个根,规定为1号,每一个点有一个可能不同的造价,每条边也可能不同,所以它们的造价也可能不同,每棵子树定价规定为(所有该子树上的节点的造价和)*(连接该子树与其父节点的边的造价和)。她们希望这株假花尽可能的大,但又想在保持花的节点数不变的情况下使用尽量小的花费,现在请你来编程帮忙解决这个问题。Input输入包含T组,首先给出T的值 阅读全文
posted @ 2012-07-24 17:07 小猴子、 阅读(1305) 评论(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 小猴子、 阅读(1283) 评论(0) 推荐(0)