動態規劃(裝滿水的氣球,uva 10934)

2021-07-23 02:39:22 字數 542 閱讀 3335

一開始 rte 是因為用了%i64d而沒用%lld。在vj上做的忘了是uva上的題

後來 tle 是因為用了 while(scanf("%lld %lld",&k,&n),k+n) 而沒用 while(scanf("%lld %lld",&k,&n)&&k)。題目描述與樣例輸入不符。還記得劉汝佳的一句話:程式要盡量寫的魯棒,因為哪怕是世界級的比賽,都會因為題目描述錯了或者疏忽從而導致無法ac。這次有教訓了。搞了好久。

至於如何理解解法。

首先要有乙個思路上的轉換,題目問的是k個氣球n層樓,至少要多少次實驗。然後可以將問題轉化為,k個氣球j次實驗最多能乾掉幾層樓。不好說怎麼理解,解決辦法就是自己找幾個例子,手動算一算就會感覺到其中的奧妙。

然後剩下的dp就簡單了。主要是思路轉換難。

**

#includeusing namespace std;

typedef long long ll;

ll dp[101][64];

int main()

return 0;

}

UVa10934 裝滿水的氣球

uva10934 解析 設還剩i個氣球,j次機會時能夠測得的最大高度為d i j 換句話說,就是d i j 層內,可以用i個氣球j次機會測出氣球硬度為j 可以知道 例項 include includeusing namespace std const int maxk 100 const int m...

動態規劃中揹包 裝滿問題

在一些揹包問題中要求會從不超過揹包最大容量變為恰好裝滿揹包,與前者的差別在於初始化的不同 合理運用inf 把dp maxn 全賦值為inf dp 0 0 如果dp n 0,則在容量為n時,揹包無法裝滿。恰好裝滿的dp n 有乙個具體值,而不是inf 為什麼要這麼做呢?通過畫圖製表可以得出,有些位置上...

動態規劃基礎水題提綱

提綱 漢諾塔漢諾塔 漢諾塔 又稱河內塔 問題是源於印度乙個古老傳說的益智玩具。大梵天創造世界的時候做了三根 金剛石 柱子,在一根柱子上從下往上按照大小順序摞著64片 圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。並且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動乙...