抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

有一张 nn 个点 mm 条边的无向图,第 ii 条边开通的条件是你已经走过了 did_i 条边,问 1n1\to n 至少需要走多少条边,或输出无解。nm150,0di109n\le m\le 150,\,0\le d_i\le 10^9

首先有一个 simple 的想法就是枚举路径上的 dd 最大的边,然后先用比该边 dd 小的边满足要求地走 did_i 步,然后再用 dd 小于等于该边的边走到终点。

我们考虑将边从大到小排序,首先要算出前 did_i 步能到哪儿,这不难用矩乘,然后是走用小于等于 did_i 的边走到终点,这一个 bfs 即可解决。

代码在这里

评论