第十一屆河南省賽 C 山區修路 dp

2021-09-14 03:49:36 字數 1097 閱讀 4776

snj位於hb省西部一片群峰聳立的高大山地,橫亙於a江、b水之間,方圓數千平方公里,相傳上古的神醫在此搭架上山採藥而得名。景區山峰均在海拔3000公尺以上,堪稱"華中屋脊"。snj是以秀綠的亞高山自然風光,多樣的動植物種,人與自然和諧共存為主題的森林生態區。

snj處於中國地勢第二階梯的東部邊緣,由大巴山脈東延的餘脈組成中高山地貌,區內山體高大,高低不平。 交通十分不便。

最近,hb省決定修一條從yc市通往snj風景區的高速公路。經過勘測分析,途中需要經過高度分別為h1,h2,……,hn的n個山區。由於高低不平,除正常的修路開支外,每段還要多出高度差|hi - hi-1|*x萬元的斜坡費用。dr. kong 決定通過填高一些區域的高度來降低總的費用。當然填高也是需要一些費用的。每填高y單位,需要付出y2萬元費用。

你能否幫dr. kong做出乙個規劃,通過部分填高工程改造,使得總的費用降下來。

第一行: t 表示以下有t組測試資料( 1≤ t ≤8 )

對每組測試資料,

第一行:n x(2 ≤ n ≤100,000 1≤ x ≤100)

第二行:n個整數,分別表示n個區域的高度hi( 1<=hi<=100 , i=1…. n)

對每組測試資料,輸出佔一行,乙個整數,即經過部分填高工程改造後的最少費用。
複製

1

5 22 3 5 1 4

15
複雜度為o(t*n*100*100 ) 最壞可以到1e10 但是過了(估計在1e9這樣,簡單for迴圈能過吧)。

測試了一下,1e9次簡單迴圈要1-2s(環境不一樣編譯器不一樣也就不一樣)。

所以萬萬不能在多次迴圈裡用max。。(wawawa......)

#include using namespace std;

int dp[101][100005];

int b[100005];

int main()

for(int i=1;i}

}for(int i=b[n-1];i<=100;i++)

printf("%d\n",mmin);

}}

河南省第十一屆acm C 山區修路

snj位於hb省西部一片群峰聳立的高大山地,橫亙於a江 b水之間,方圓數千平方公里,相傳上古的神醫在此搭架上山採藥而得名。景區山峰均在海拔3000公尺以上,堪稱 華中屋脊 snj是以秀綠的亞高山自然風光,多樣的動植物種,人與自然和諧共存為主題的森林生態區。snj處於中國地勢第二階梯的東部邊緣,由 大...

第十一屆河南省賽 修路

時間限制 3 sec 記憶體限制 128 mb 提交 7 解決 5 提交 狀態 討論版 命題人 外部匯入 edit testdata snj位於hb省西部一片群峰聳立的高大山地,橫亙於a江 b水之間,方圓數千平方公里,相傳上古的神醫在此搭架上山採藥而得名。景區山峰均在海拔3000公尺以上,堪稱 華中...

第十一屆河南省賽ICPC

a 計畫日 dr.kong,作為一名從教多年的老師,跟蹤了大量成績好的學生,發現他們的學習習慣非常規律,有方法 有計畫 有目標 有總結。比如 已考上 大學的李明同學,從小學開始訂學習計畫,達成目標。每經過n天就檢查目標是否完成,寫總結,並確定下乙個學習目標。已知李明在yyyy年mm月dd日星期w訂了...