跑跑卡丁車(0 1揹包)

2021-07-16 06:07:25 字數 713 閱讀 9633

原題鏈結

這個題其實也是01揹包解決的問題,只是他的狀態轉移方程是分段的而不是不同的那樣是只有乙個,同時題中的氮氣其實只需要把他當成是014就可以而不用當成0280這麼多,同時由於其氮氣是不斷變化的,所以不能用乙個一維陣列來儲存dp,而是應該用二維的陣列來儲存,否則這個狀態轉移方程就無法表示

#include #include #include #include using namespace std;

const int maxn=10000 + 10;

int dp[maxn][15];//dp[i][j]表示當前有j個單位的能量跑完i段的最小時間,能量從0到14,這裡因為氮氣數(總價)是變化的,所以這裡只能設定為二維陣列

int nor[maxn],no2[maxn];

int main()

}int res=0x3f3f3f3f;

for(int i=0;i<15;i++)

res=min(res,dp[l*n][i]);

printf("%d\n",res);

}return 0;

}

FZU 1685 跑跑卡丁車

跑跑卡丁車 time limit 1s memory limit 32m accepted submit 214 total submit 586 cigam在宿舍閒著沒事,又玩起了跑跑卡丁車,為了到達終點,他需要通過m段路,在通過每段路時,他可以利用加速器來加快速度,每段路最多只能使用乙個加速器,...

資料結構 跑跑卡丁車

資料結構與演算法實驗題 7.2 跑跑卡丁車 實驗任務 有 n 輛卡丁車車牌號分別為 1,2,n 在高速公路上競速。coffee 是位跑跑卡丁車愛 好者,她在比賽的過程中拍攝了兩張 在 上可以清晰的看到每輛車的的車牌號。給出兩張 上從第一名到最後一名的車牌號,請你程式設計計算這兩張 的拍攝時間段內 至...

HDU 1494 跑跑卡丁車

題目大意 有乙個n圈的跑道,跑道裡有l段路,每次跑過一段路加速器增加20 的能量,當有我們有乙個加速卡時,可以使用加速,我們最多可以積攢兩個加速卡,問跑完n圈的最小時間是多少。題目分析 首先我們可以把它按照dp求解 dp i j 表示走完前l段路,積累了j個20 能量所消耗的最小時間。其中只要注意一...