所有人都是傻逼

legendcn發表於2024-10-04

20241004動態規劃

A. 找行李

容易想到一個 \(n^4\) 的 dp: 先把人的位置和行李的位置排序,所以加入 \(i\) 選擇了 \(j\) 號行李,那麼 \(i\) 以後的人選擇 \(j\) 號行李前面的行李,就沒有貢獻了。設 \(dp_{i,j,k}\) 表示前 \(i\) 人,第 \(i\) 個人選擇的是 \(j\) 號行李,在前 \(j\) 個行李中有 \(k\) 個沒有被選的。\(n^4 = 500^4 = 6.25*10^{10}\) 明顯超時,但是這個 dp 好像不能最佳化。
需要換一個狀態。我們固定這個最早的時間,算對於每個人可以匹配的行李數量。對於時間 \(t(t\in [1,500])\)\(dp_i\) 表示第 \(i\) 個人,可以讓他成為最早拿到行李的人,可以匹配多少個行李。

B. [POI2015] MYJ

這道題最終的目的是使商家賺的錢最多,所以對於一個價格,它如果取到 \(c_i\) 肯定比不取到優,所以我們不需要考慮 \(c_i\) 具體的值。又注意到 \(n\) 只有 \(50\),所以可以將 \(c\) 進行離散化。

相關文章