您好、欢迎来到现金彩票网!
当前位置:2019正版免费全年资料 > 凸包逼近 >

20181030【校内模拟】有环无向图(最短路)(化边为点)

发布时间:2019-06-16 12:58 来源:未知 编辑:admin

  首先对于原题中路径的定义,考虑重新处理。将每个点的贡献变成进入它的边的权值+在入边意义下出边的贡献。

  将每个点所有出边取出来,排个序,大的边向小的边连权值为000的边,表示在入边是大边的情况下,出边的贡献是0。小的依次向它的后继连权值为权值之差的边,表示如果走这条边出去,新增的贡献是差量。

  然后所有边的反向边向它连权值为原权值的边,表示进入这个点之后要出去需要先计算它作为下一个点入边的代价。

  这样建出来的边的规模就是O(m)O(m)O(m),最多不会超过6m6m6m条边。

  之后直接DijkstraDijkstraDijkstra跑一下最短路,在终点的所有出边的反向边处考虑新的权值

  代码(截止博客完工时,这份代码全OJ时空都是rank1,空间只有rank2的一半):

http://exlei.net/tubaobijin/242.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有