洛谷 P3399 絲綢之路

2022-04-05 01:28:20 字數 1324 閱讀 4849

張騫於西元前138年曾歷盡艱險出使過西域。加強了漢朝與西域各國的友好往來。從那以後,一隊隊駱駝商隊在這漫長的商貿大道上行進,他們越過崇山峻嶺,將中國的先進技術帶向中亞、西亞和歐洲,將那裡的香料、良馬傳進了我國。每當人們凝望荒涼的大漠孤煙,無不引起對往日商貿、文化繁榮的遐想……

小倉鼠帶著貨物,從中國送到安息,絲綢之路包括起點和終點一共有n+1個城市,0號城市是起點長安,n號城市是終點巴格達。要求不超過m天內必須到達終點。一天的時間可以從乙個城市到連續的下乙個城市。從i-1城市到i城市距離是di。

休息:呆在原來的城市不動

沙漠天氣變化無常,在天氣很不好時,前進會遇到很多困難。我們把m天的第j(1<=j<=m)天的氣候惡劣值記為cj。從i-1城市移動到i城市在第j天進發時,需要耗費di*cj的疲勞度。

不過小倉鼠還是有選擇權的,可以避開比較惡劣的天氣,休息是不會消耗疲勞值的。現在他想知道整個行程最少要消耗多少疲勞值。

輸入格式:

第一行2個整數n,m

連續n行每行乙個整數dj

連續m行每行乙個整數cj

輸出格式:

乙個整數,表示最小疲勞度

輸入樣例#1:

3 5

1025

1550

3015

4030

輸出樣例#1:

1125

本題時限1s,記憶體限制128m,因新評測機速度較為接近noip評測機速度,請注意常數問題帶來的影響。

第1天休息

第2天0->1 疲勞值 10 × 30 = 300 .

第3天1->2 疲勞值 25 × 15 = 375 .

第4天休息

第5天2->3 疲勞值 15 × 30 = 450 .

1 ≦ n ≦ m ≦ 1000

1 ≦ di , ci ≦ 1000

dpdp[i][j]=min(dp[i][j-1],dp[i-1][j-1]+d[i]*c[j]);

dp[i][j-1]是休息了一天,dp[i-1][j-1]是從上個城市走來。

屠龍寶刀點選就送

#include #include 

#define min(a,b) a>b?b:a

int dp[1010][1010],n,m,d[1010],c[1010

];int

main()

int answer=dp[n][n];

for(int i=n+1;i<=m;++i) answer=min(answer,dp[n][i]);

printf("%d

",answer);

return0;

}

洛谷 P3399 絲綢之路

題目背景 張騫於西元前138年曾歷盡艱險出使過西域。加強了漢朝與西域各國的友好往來。從那以後,一隊隊駱駝商隊在這漫長的商貿大道上行進,他們越過崇山峻嶺,將中國的先進技術帶向中亞 西亞和歐洲,將那裡的香料 良馬傳進了我國。每當人們凝望荒涼的大漠孤煙,無不引起對往日商貿 文化繁榮的遐想 題目描述 小倉鼠...

洛谷 P3399 絲綢之路

張騫於西元前138年曾歷盡艱險出使過西域。加強了漢朝與西域各國的友好往來。從那以後,一隊隊駱駝商隊在這漫長的商貿大道上行進,他們越過崇山峻嶺,將中國的先進技術帶向中亞 西亞和歐洲,將那裡的香料 良馬傳進了我國。每當人們凝望荒涼的大漠孤煙,無不引起對往日商貿 文化繁榮的遐想 小倉鼠帶著貨物,從中國送到...

洛谷 P3399 絲綢之路

f i j 表示第j天到第i個城市消耗的最小體力值,對於每種狀態,我們可能從兩種狀態轉移過來 1.我們可以選擇前一天沒動,即f i j 1 2.可以選擇前一天動了,即f i 1 j 1 還有,第1座城市比較特殊,所以要單獨處理一下.1 include2 include3 include4 5usin...