ZJOI2006 物流運輸

2022-05-06 20:12:17 字數 1495 閱讀 6415

戳這裡。

我覺的這題用到的思想還是蠻新的qaq

有的時候某個碼頭會無法裝卸貨物。這時候就必須修改運輸路線,讓貨物能夠按時到達目的地。但是修改路線是—件十分麻煩的事情,會帶來額外的成本。因此物流公司希望能夠訂乙個n天的運輸計畫,使得總成本盡可能地小。

什麼意思?

難道要跑n遍最短路嗎?

很顯然是錯誤的。【藍題怎麼可能這麼水?

怎麼證明?

簡單說明一下,首先假設我們有這樣一張圖,上面有一條最短路l 和次短路 r

然後我們來假設一種情況,k=+∞

最短路能在單數時間跑,偶數時間這條路上的點有無法走到的,而次短路能在任何時間跑到。

顯然全程跑次短路要優的多。

雖然證明的很潦草,但是最起碼證明上面思路是錯誤的了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

ZJOI2006 物流運輸

description 物流公司要把一批貨物從碼頭a運到碼頭b。由於貨物量比較大,需要n天才能運完。貨物運輸過程中一般要轉停好幾個碼頭。物流公司通常會設計一條固定的運輸路線,以便對整個運輸過程實施嚴格的管理和跟蹤。由於各種因素的存在,有的時候某個碼頭會無法裝卸貨物。這時候就必須修改運輸路線,讓貨物能...

ZJOI2006 物流運輸

dp套最短路。還是蒟蒻做題少。開始想的是狀壓dp。但是因為太蒻了,不會很高效地處理一些點集的最短路,弄了乙個t飛的演算法。之後看了題解才知道原來是可以用dp套最短路做的。為什麼需要dp?因為本題涉及到狀態的選擇。每一天要麼不更換線路,要麼更換。顯然這個東西是沒有辦法貪心搞的,所以只能用dp把狀態整合...

ZJOI2006 物流運輸

物流公司要把一批貨物從碼頭a運到碼頭b。由於貨物量比較大,需要n天才能運完。貨物運輸過程中一般要轉停好幾個碼頭。物流公司通常會設計一條固定的運輸路線,以便對整個運輸過程實施嚴格的管理和跟蹤。由於各種因素的存在,有的時候某個碼頭會無法裝卸貨物。這時候就必須修改運輸路線,讓貨物能夠按時到達目的地。但是修...