BZOJ4289 Tax 最短路建模

给定一个带边权的无向图,求1到n的最小代价路径。经过一个点的代价是路径上这个点的入边和出边的较大权值。

\(n \le 100000, m \le 200000\)

一般的建图是考虑每个点,其入边和出边之间两两连边,边权为较大值。这样菊花图就是\(O(n^2)\)的。

考虑“较大值”这个过程,考虑用前缀和思想优化。将每个点的出边排序,第i条想第i+1条连边权为w[i+1]-w[i]的边,第i+1条想第i条连边权为0的边,然后每条入边向其相反边连边权为它自己的边。这样每条入边的最小代价是它自己,并且连更大的出边代价会增加,连小的代价会不变。

猜你喜欢

转载自www.cnblogs.com/utopia999/p/9832411.html