摘要:
URL:http://poj.org/problem?id=3662——problem:一个无向图有n个点, p条边, 每边有花费, 可以任意指定有k条边免费, 现要求选择若干条边构成顶点1到顶点n的一条路径, 使得路径上边权最大值(不包括免费边)最小.——solution:二分答案,最短路假设A是可行解,即路径上边权最大值为A,则该路径上边权大于A的边一定小于等于K条。若A不是最优解,那么必然B<A,是的路径上边权大于B的边小于等于K。于是我们可以二分答案,得到一个值X,将所有小于等于X的边变为0,大于X的边变为1。做最短路,则1到N的距离就是所用权值大于X边的条数。如果小于等于K,则 阅读全文
摘要:
——url:http://acm.hdu.edu.cn/showproblem.php?pid=2992——problem: 有n(≤10000)个地点, m(≤100000)条无向边, 其中有h个地点建有旅馆, 一个人从1出发去n, 此人每天最多走10小时, 然后就要进旅馆休息, 第二天继续走, 直到到达n, 问最少需要预定多少家旅馆(最少需要多少天)可以到达n, 若不能到达则输出-1.——solution: h次Dijkstra求出旅馆间最短路, 然后重新建图再做一次最短路。把起点和终点也当做旅馆。对每个旅馆做次最短路,如果两个旅馆之间的时间<=600,那么这两个旅馆能隔天到达,重新 阅读全文