[ZJOI2006]物流运输

题面

  戳这里html

题目分析

  我觉的这题用到的思想仍是蛮新的QAQspa

  有的时候某个码头会没法装卸货物。这时候就必须修改运输路线,让货物可以按时到达目的地。可是修改路线是—件十分麻烦的事情,会带来额外的成本。所以物流公司但愿可以订一个n天的运输计划,使得总成本尽量地小。htm

  什么意思?blog

  难道要跑n遍最短路吗?get

  很显然是错误的。【蓝题怎么可能这么水?io

  怎么证实?方法

    简单说明一下,首先假设咱们有这样一张图,上面有一条最短路 L 和次短路 Rim

    而后咱们来假设一种状况,k=+∞  数据

    最短路能在单数时间跑,偶数时间这条路上的点有没法走到的,而次短路能在任什么时候间跑到。img

    显然全程跑次短路要优的多。

  虽然证实的很潦草,可是最起码证实上面思路是错误的了QAQ

  那么这道题究竟该怎么作?

  我记得以前有一道模拟赛的题目?【这篇的T2其中T2跟这道题基本如出一辙的操做啊!

    拆掉什么什么的边。

  咱们采起的解决方法就是----分块

  那么这道题能不能也分块作呢?

  来尝试尝试吧。

  既然以前那道题要求的是连通块的个数,咱们把点组分块,那么类比下来,这题要求最短路,咱们就把最短路分块。

  把最短路的长度分红从 i 到 j 这段时间的最短路,记 rdis[i][j]表示在 i 到 j 这段时间里能走的最短路。【这题数据范围这么小,固然随便乱搞

  而后,对于这种求最小值的问题,考虑二分答案?没有范围pass

  因此尝试DP  

  定义dp[i]表示从1到 i 这段时间可以走的最短路

  那么就能够列出方程:

    dp[i] = min(dp[i] , dp[j] + rdis[j+1][i] * (i-j) +k; 【仔细想一想仍是蛮显然的

  这里有一个要注意的点:【我第一次dp列了一个二维的就是理解错题意了。

    题面中有这样一句话:

  总成本=n天运输路线长度之和+K*改变运输路线的次数。

  k到底是什么?【灵魂拷问

  看一张图

  究竟有几个k?1 or 2?

  答案是 2 1 啊!!!!Σ(っ °Д °;)っ

  也就是说不管一天以内修改多少条路都是一个价格!!!! (╯' - ')╯︵ ┻━┻

  我调了一个小时!!!

 


 

不读题一时爽,一直不读题一直爽

  没好好读题就别读了QAQ

相关文章
相关标签/搜索