SSLOJ 1643 最小乘車費用

2021-10-11 21:34:22 字數 1140 閱讀 8556

假設某條街上每一公里就有乙個公共汽車站,並且乘車費用如下表:

而任意一輛汽車從不行駛超過10公里。某人想行駛n公里,假設他可以任意次換車,請你幫他找到一種乘車方案,使得總費用最小

注意:10公里的費用比1公里小的情況是允許的。

輸入檔案busses.in,檔案共兩行,第一行為10個不超過200的整數,依次表示行駛1~10公里的費用,相鄰兩數間用乙個空格隔開;第二行為某人想要行駛的公里數。

output

輸出檔案busses.out,僅一行,包含乙個整數,表示行使這麼遠所需要的最小費用。

12 21 31 40 49 58 69 79 90 101

15吐槽時間到

注意是恰好n公里,不是至少n公里

吐槽時間結束

設b[i]為剛好i公里的最小費用,a[i]為走i公里的費用

b [i

]=mi

n(b[

i],b

[i−j

]+a[

j])(

1<=i

<=n

,1<=j

<=10

)b[i]=min(b[i],b[i-j]+a[j])(1<=i<=n,1<=j<=10)

b[i]=m

in(b

[i],

b[i−

j]+a

[j])

(1<=i

<=n

,1<=j

<=1

0)前10個b[x]初值為a[x]

code:

#include

#include

using

namespace std;

int a[11]

,b[10001

],n;

intmain()

cin>>n;

for(

int i=

1;i<=n;i++)}

cout<

;return0;

}

SSL 1643 最小乘車費用

假設某條街上每一公里就有乙個公共汽車站,並且乘車費用如下表 而任意一輛汽車從不行駛超過10公里。某人想行駛n公里,假設他可以任意次換車,請你幫他找到一種乘車方案,使得總費用最小 注意 10公里的費用比1公里小的情況是允許的。檔案共兩行,第一行為10個不超過200的整數,依次表示行駛1 10公里的費用...

最小乘車費用

題意 假設某條街上每一公里就有乙個公共汽車站,並且乘車費用如下表 而任意一輛汽車從不行駛超過10公里。某人想行駛n公里,假設他可以任意次換車,請你幫他找到一種乘車方案,使得總費用最小 分析f i min f i f i j a j vari,j,n longint f,a array 0.100 o...

最小乘車費用

某條街上每隔一公里就有一汽車站,乘車費用如下表 公里數 1 2 3 4 5 6 7 8 9 10 費用 12 21 31 40 49 58 69 79 90 101 而一輛汽車從不行駛超過 10 公里。某人想行駛 n 公里,假設他可以任意次換車,請你幫他找到一種乘車方案使費用最小 10 公里的費用比...