P3399 絲綢之路

2022-05-17 21:48:33 字數 1361 閱讀 9924

張騫於西元前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

分析:很明顯是dp問題,題目中有天數和疲勞度兩個引數,引入f陣列,f[i][j]表示在第j天到達i城市的最小疲勞度

可以得到狀態方程:f[i][j]=min(f[i][j-1]+0,f[i-1][j-1]+c[j]*d[i]);

還有就是初始化:f[i][i]=f[i-1][j-1]+c[i]*d[i];

綜上所述f[n][m]就是答案

c++**如下:

#include using

namespace

std;

int d[1000+5],c[1000+5];//

d: 距離,c:天氣情況

int f[1000+5][1000+5];//

在第j天處於第i個城市的疲勞的最小值

intmain()

} cout

}

洛谷 P3399 絲綢之路

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

洛谷 P3399 絲綢之路

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

洛谷 P3399 絲綢之路

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