假期(動態規劃)

2021-10-12 14:00:14 字數 757 閱讀 4870

題目描述

提莫的這個假期一共有n天。 他想去參加比賽和健身,他知道這n天的以下資訊:健身房是否開放,當天網路上是否有比賽。對於每一天有四種情況:

0.健身房關閉,沒有比賽進行。

1.健身房關閉,有比賽。

2.健身房開啟,沒有比賽。

3.健身房開啟,有比賽。

對於每天提莫可以進行比賽或者休息(如果這天有比賽),也可去健身(如果健身房開放)。你的問題是找到提莫休息的最少天數(他不會同時做運動和寫比賽,也不會連續兩天比賽,也不會連續兩天去健身房)。

輸入格式

第一行乙個整數n,(1 ≤ n ≤ 100)表示一共n天假期。

第二行n個正整數:a1,a2,a3…an(0 ≤ ai ≤ 3)。

輸出格式

輸出提莫休息的最少天數。

要記住上方描述的注意事項。

樣例輸入

41 2 3 0

樣例輸出1提示

對於樣例,我們做出這樣的解釋:

他第一天參加比賽,第二天去健身房,第三天去參加比賽,所以他能休息1天。

#include

#include

using

namespace std;

int dp[

105][3

];intmain()

cout<<

min(dp[n][0

],min(dp[n][1

],dp[n][2

]));

}

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

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

mysql動態規劃 動態規劃

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

《動態規劃》 ACM 動態規劃例題詳解

描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 圖1 圖1給出了乙個數字三角形。從三角形的頂部到底部有很多條不同的路徑。對於每條路徑,把路徑上面的數加起來可以得到乙個和,你的任務就是找到最大的和。注意 路徑上的每一步只能從乙個數走到下一層上和它最近的左邊的那個數或者右邊的那個數。輸...