求一个指定点对的路径上的最大边权或最小边权(转)

dij贪心地取min(cur,pre)最大的路径

或者直接按权值排序,贪心地从最小或最大取,并茶几加点,联通停止即可。。。

我们还可以用二分。。就是二分最大边权或者最小边权。。重复上面类似kruskal的过程

k短路。。次小生成树。。可持久化堆

dij本质还是个贪心地过程

求满足某条件的最短路径或最长路径,如果该条件满足可以筛出的满足某性质的点中可形成的路径解集中包含题目所有的答案

我们就可以先用BFS等手段先把点筛出来。。然后在这些点中跑各种路径算法

对于最短路径我们可以考察是否有负环。。对于最长路径我们可以考虑是否有正环

对于rating相同的点我们可以缩点

用传递闭包朴素求强连通分量

ko算法求强连通分量。。

 

posted @ 2017-07-28 11:44  Roni_i  阅读(469)  评论(0编辑  收藏  举报