題目
一道做法多種多樣的題,dp做法的狀態也很多。
我用\(dp[i]\)表示在第i秒發車的時間和,然後dp方程就很好寫了
\(dp[i] = dp[j] + i車的等待時間\)j屬於i-2m ~ i-m。
然後i車的等待時間可以用字首和來優化求出,雖然很慢,但是足以通過這道題了。
#include #include #include #include #define n 6011101
using namespace std;
int n, m, t[n]; //等待時間不是最終時間
int minn = 2147483647, dp[n], tim[n], per[n];//dp[i]表示第i時間所等待的時間和的最小值。
inline void init() }}
int main()
for (int i = t[n]; i <= t[n] + m - 1; i++)
minn = min(minn, dp[i]);
printf("%d", minn);
return 0;
}
P5017 擺渡車 題解
p5017 擺渡車 這道題的做法很多,我考慮用斜率優化的方法來做 先定義 f i 表示運走 i 時間之前的人,並且必須在 i 這個時間發車的最小代價 很顯然 f i min f j sum i i t k 我們考慮用乙個類似字首和的東西預處理出 sum i i t k 用 g i 記錄 i 時間前有...
洛谷p1258 小車問題
嚇人,心有餘悸 小車問題 傳送門 洛谷演算法標籤 行吧它居然是個二分 解方程的我抖抖發瑟 作為乙個寫了一頁演草紙才解出來的方程,顯然我要好好寫一寫 希望不會半途而廢 設總路程為s,放下甲去接乙的時間為t,車的速度 為b,人的速度為a 最短時間為x。那麼首先得到兩個式紙 bt a x t s at a...
洛谷 P1350 車的放置
洛谷 p1350 車的放置 有下面這樣的乙個網格棋盤,a,b,c,d表示了對應邊長度,也就是對應格仔數。當a b c d 2時,對應下面這樣乙個棋盤 要在這個棋盤上放k個相互不攻擊的車,也就是這k個車沒有兩個車在同一行,也沒有兩個車在同一列,問有多少種方案。同樣只需要輸出答案mod 100003後的...