登山(動態規劃)

2022-10-08 18:42:13 字數 758 閱讀 7573

五一到了,icpc隊組織大家去登山觀光,隊員們發現山上一共有n個景點,現在告訴你這n個景點的海拔。隊員們決定按照順序來瀏覽這些景點,即每次所瀏覽景點的下標都要大於前乙個瀏覽景點的下標。

同時隊員們還有另乙個登山習慣,就是不連續瀏覽海拔相同的兩個景點,並且一旦開始下山,就不再向上走了。

隊員們希望在滿足上面條件的同時,盡可能多的瀏覽景點,你能幫他們找出最多可能瀏覽的景點數麼?

line 1: n (2 <= n <= 1000) 景點數。

line 2: n個整數,每個景點的海拔。

最多能瀏覽的景點數。

8

186 186 150 200 160 130 197 220

4

題目分析

可以把這道題看成首尾相連的乙個最長上公升和乙個最長下降的長度

那麼問題就在於如何知道這個首尾相連的地方

找這個地方不難,直接列舉就行

上**:

#includeusing

namespace

std;

int a[1000]=,n=0,d[1000]=,p[1000]=,ans=0

;int

main()

for(int i = 0;i)}}

for(int i = n-1;i>=0;i--)}}

for(int i =0;i)

cout

}

over~

動態規劃練習題 6(登山)

隊員們發現山上乙個有n個景點,並且決定按照順序來瀏覽這些景點,即每次所瀏覽景點的編號都要大於前乙個瀏覽景點的編號。同時隊員們還有另乙個登山習慣,就是不連續瀏覽海拔相同的兩個景點,並且一旦開始下山,就不再向上走了。隊員們希望在滿足上面條件的同時,盡可能多的瀏覽景點,你能幫他們找出最多可能瀏覽的景點數麼...

動態規劃 什麼是動態規劃?

先來看看 資訊學奧賽一本通第5版 是怎麼說的 動態規劃程式設計是對解最優化問題的一種途徑 一種方法,而不是一種特殊演算法。不像前面所述的那些搜尋或數值計算那樣,具有乙個標準的數學表示式和明確清晰的解題方法。動態規劃程式設計往往是針對一種最優化問題,由於各種問題的性質不同,確定最優解的條件也互不相同,...

mysql動態規劃 動態規劃

動態規劃 能夠動態規劃的問題具有以下特點 可分解成規模更小的子問題 子問題的結果可復用 關鍵是要理解狀態轉移方程的含義就好啦!數字三角形 問題描述 在數字三角形尋找從頂到底的路徑,使得路徑經過的數字之和最大。規定每一步只能往左下或右下走,求出最大路徑和。遞迴解法 include include us...