zoukankan      html  css  js  c++  java
  • 【20181103T2】图【结论+bfs最短路】

    一眼最短路

    ……感觉是个结论啊

    建超级源汇?

    什么鬼

    合并ab和cd?

    不一样的吗

    开始想的至少有一条路径是最短路

    然后发现不对:

    开始对着这个图瞎想

    从B开始找A的最短路,然后把到B小于等于的边赋成0,再求一遍C到D最短路加起来

    刷刷刷写完了,发现过不了样例

    样例好像要从A找B……

    乱了乱了

    之所以不好做,主要是路径有交集

    那交集有什么特点呢?

    会不会最多只有一段?

    然后发现是对的,如果是从某个地方出去,绕一圈再回来,肯定没有之前优

    $N leq 3000 …… $那我们可以枚举交集的起点和终点,把五段距离加起来就好了

    当然还有无交集的情况

    由于边权为1,所以可以bfs N次求出任意两点的最短路

    然后就枚举

    注意是双向边,可以a连i,b连j,c连j,d连i

    复杂度(O(N^2))

    (2^m)对了10min没有问题

    另:ldx神仙声称存在一种最优方案使得两条路的交集一定在其中一对点的最短路上

    该算法可以AC,还暴踩标算,并且拍了一中午没有问题

    目前正在研究当中

    代码

  • 相关阅读:
    Collection<E>接口
    Iterable<T>接口
    Iterator<E>接口
    js图片压缩
    js计算最大公约数和最小公倍数
    canvas原生js写的贪吃蛇
    左右两栏div布局,高度自适应
    vue的图片路径,和背景图片路径打包后错误解决
    职责链模式
    js多个异步请求,按顺序执行next
  • 原文地址:https://www.cnblogs.com/lstoi/p/9900597.html
Copyright © 2011-2022 走看看