关于二分限制最短路的题的总结

下面几道题分为两类:

  1. 最小找最大(还加了一些限制):HDU 2962HDU 1839
    最大找最小:CCF CSP 201703 4.地铁修建
  2. 路上的边权极值相差最小:HDU 1598
    路上的点权极值相差最小:HDU 2363

这几道题都可以用二分限制最短路来求解,但不是都能用并查集来求解。需要输出最短路值(限制情况下),或者对最短路值有个上界,或者有向图,这些情况就都不能用并查集了。(使用并查集优先)

因为并查集只能判断无向图的连通性,算不了具体的最短路值(限制情况下)。而最短路算法,可以在限制情况下使用,而且本身的最短路值也具有判断连通性 / 可行性的作用。(通过限制下的最短路算法有没有解来判断当前限制的可行性)

对于第一种题,二分数组中的值是边权(从小到大或从大到小);而对于第二种题,二分数组中的值必须是差值(因为差值本来就是越小越优(满足l<r,而且是连续的,所以其实直接就是对差值二分的,没再弄个数组装起来)。而且第二种题的限制多了一层枚举,更复杂了一些。

对于HDU 2363这个题来讲,因为它是点权,而且,作为无向图所以并不能把点权转化到边上(若是有向图的话本身还是没法用并查集),所以这个题是怎么都不能用并查集了(而且这个题还要输出最短路值)。

说了一堆,就当自娱自乐吧。

posted @ 2019-04-12 21:06  CrossingOver  阅读(179)  评论(0)    收藏  举报