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的边,然后每条入边向其相反边连边权为它自己的边。这样每条入边的最小代价是它自己,并且连更大的出边代价会增加,连小的代价会不变。

posted @ 2018-10-22 20:06  Utoрia  阅读(165)  评论(0编辑  收藏  举报