洛谷P3406 海底高鐵

2021-08-22 16:28:03 字數 1257 閱讀 3446

大東亞海底隧道連線著廈門、新北、博艾、那霸、鹿兒島等城市,橫穿東海,耗資1000億博艾元,歷時15年,於公元2023年建成。憑藉該隧道,從廈門可以乘坐火車直達台灣、博艾和日本,全程只需要4個小時。

該鐵路經過n個城市,每個城市都有乙個站。不過,由於各個城市之間不能協調好,於是乘車每經過兩個相鄰的城市之間(方向不限),必須單獨購買這一小段的車票。第i段鐵路連線了城市i和城市i+1(1<=i雖然一些事情沒有協調好,各段鐵路公司也為了方便乘客,推出了ic卡。對於第i段鐵路,需要花ci博艾元的工本費購買一張ic卡,然後乘坐這段鐵路一次就只要扣bi(biuim現在需要出差,要去m個城市,從城市p1出發分別按照p1,p2,p3...pm的順序訪問各個城市,可能會多次訪問乙個城市,且相鄰訪問的城市位置不一定相鄰,而且不會是同乙個城市。

現在他希望知道,出差結束後,至少會花掉多少的錢,包括購買紙質車票、買卡和充值的總費用。

輸入格式:

第一行兩個整數,n,m。

接下來一行,m個數字,表示pi

接下來n-1行,表示第i段鐵路的ai,bi,ci

輸出格式:

乙個整數,表示最少花費

輸入樣例#1:

9 10

3 1 4 1 5 9 2 6 5 3

200 100 50

300 299 100

500 200 500

345 234 123

100 50 100

600 100 1

450 400 80

2 1 10

輸出樣例#1:

6394
2到3以及8到9買票,其餘買卡。

對於30%資料 m=2

對於另外30%資料 n<=1000 ,m<=1000

對於100%的資料 m,n<=100000,ai,bi,ci<=100000

#include #include #include using namespace std;

int a,b,c,sum;

int x[1000555];

inline int read()

while(c>='0'&&c<='9')

return ans;

}int main()

long long ans=0;

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

cout<}

洛谷 P3406 海底高鐵 模擬

大東亞海底隧道連線著廈門 新北 博艾 那霸 鹿兒島等城市,橫穿東海,耗資1000億博艾元,歷時15年,於公元2058年建成。憑藉該隧道,從廈門可以乘坐火車直達台灣 博艾和日本,全程只需要4個小時。該鐵路經過n個城市,每個城市都有乙個站。不過,由於各個城市之間不能協調好,於是乘車每經過兩個相鄰的城市之...

P3406 海底高鐵

不要小看了這個資料範圍 首先明確一下題意,對於樣例中的訪問順序3 1 4 1 5 9 2 6 5 3,它意味著 數字代表城市 從 3 出發,依次經過2 3間的鐵路,1 2間的鐵路,到達1 再從 1 出發,依次經過1 2,2 3,3 4之間的鐵路,到達4,以此類推.顯然,對於任意一段鐵路,可以根據訪問...

洛谷 P3406 海底高鐵 差分

p3406 海底高鐵 基本思路 對於其中一小段,我們要麼全部買紙票,要麼全部刷卡。所以我們只需要統計每一小段經過的總次數。如果你暴力模擬統計的話,估計 一定會tle。接下來來看一組例子 六個數 0 0 0 0 0 0 如果想讓它從第二個到第五個數全部 1,則為 0 1 1 1 1 0 如果這樣模擬 ...