UVa 10934 主要是思路

2021-08-01 11:11:30 字數 783 閱讀 9331

描述:你有一棟n層的大樓和k個球,詢問至少需要多少次確定球的硬度

分析:對於球的硬度,即是在高度為i時,球沒碎掉,而在高度為i+1時,球碎掉了,此時便可以確定球的硬度為i.

主要是對於題目的理解:最壞情況是在最後一層但你不知道 約束在於球的個數有限制

完了分類:能否破掉進行轉移

code:

#include

#include

#include

#include

#include

#include

#include

#define fo(i,a,b) for(int i=a;i<=b;i++)

#define fod(i,a,b) for(int i=a;i>=b;i--)

using

namespace

std;

const

int n=1e2+10,m=63+10;

unsigned

long

long k,n,

f[n][m];//i個球,j次實驗

void init()

int main()

if(ans==-1) printf("more than 63 trials needed.\n");

else

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

}return

0;}

UVA 10934 經典DP,「扔水球」

題目大致意思就是 有n個水球,它們沒有區別。現在從樓上扔它們,自然當樓層很高時,水球就會炸掉。而且水球炸是有乙個臨界點的,比如在仍下去炸了,那在4,5,6 扔下去都會炸,1 2 就不會炸。現在問,給你k個水球,最壞情況下至少需要扔多少次,就能確定這個臨界點。如果只有乙個水球,n層樓,那結果就是n次。...

UVa10934 裝滿水的氣球

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

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

一開始 rte 是因為用了 i64d而沒用 lld。在vj上做的忘了是uva上的題 後來 tle 是因為用了 while scanf lld lld k,n k n 而沒用 while scanf lld lld k,n k 題目描述與樣例輸入不符。還記得劉汝佳的一句話 程式要盡量寫的魯棒,因為哪怕...