题目大多数都是给你一张图让你求其中两点见所有通路上边权最小值最大或者最大值最小的值
首先我们分析直接暴力去做那是肯定不可以的,数据一多就会T如果给定一张图的话可以用堆优化的dij能保证NlogN复杂度
边权最小值最大
我们分析一下最初的dij+堆优化的思路就是从终点开始,小根堆维护当前最小的dis然后用它去递推下面的dis答到最优更新的目的。
也就是dis[当前点]=min(dis[当前点],dis[之前的点]+边权值)
这里我们也是那种递推的思想
f[当前点]=min(f[当前点],max(边权值,f[之前的点]))
这个递推式实际上有点最大连续子区间的感觉
1 | //poj 2253(1~2之间所有路径上边权值最大的最小值) |
1 | // poj 1797(1-n所有路径上边权值最小值最大注意要用大根堆) |