HDU 2059 龜兔賽跑(DP)

2021-09-25 14:43:52 字數 617 閱讀 9220

狀態轉移方程為 dp[i]=min(dp[j]+time, min) for j in range(0,i);表明最短時間是在某個充電站充完電後一口氣衝到i的,內層j迴圈嘗試尋找這樣的j,外部i迴圈不斷生成到充電站i的最短時間。

#include #include #include using namespace std;

int main()

; cin >> n >> c >> t;

cin >> vr >> v1 >> v2;

for(int i = 1; i <= n; i++) cin >> p[i];

p[n+1] = l;

double tr = 1.0 * l / vr,dp[110];

dp[0] = 0;//dp[i]表示到第i個充電站所需最短時間.

for(int i = 1; i <= n + 1; i++)

dp[i] = min;

} if(dp[n+1] > tr) cout << "good job,rabbit!\n";

else cout << "what a pity rabbit!\n";

} return 0;

}

HDU 2059 龜兔賽跑(dp)

description 據說在很久很久以前,可憐的兔子經歷了人生中最大的打擊 賽跑輸給烏龜後,心中鬱悶,發誓要報仇雪恨,於是躲進了杭州下沙某農業園臥薪嘗膽潛心修煉,終於練成了絕技,能夠毫不休息得以恆定的速度 vr m s 一直跑。兔子一直想找機會好好得教訓一下烏龜,以雪前恥。最近正值hdu舉辦50周...

hdu2059 龜兔賽跑(DP)

思路 簡單dp.想清楚題意就可以了 include includeusing namespace std const double inf 1e9 double dp 110 int p 110 int main else if j temp t dp i min dp i dp j temp do...

hdu 2059 龜兔賽跑

題目是動歸,狀態是比較輕鬆能夠分出來的。總的來說就是每乙個加油點是乙個狀態,比如i點就由之前i 1個點確定,從起點到i 1每個點都走到i點一次,求出最小的時間,儲存在i點。需要注意的起點的處理以及終點。題目思路挺清晰的,只要注意下細節,給dp入門做練習還是挺不錯的。include include u...