說的是有n個bug,和s個系統。現在乙個人一天能發現乙個bug,它可能是任何乙個系統中的,也可能會發現已經發現過的bug。
問,他發現全部n個bug,並且s個系統中都出現bug的天數的期望。
**是借用kuangbin大神的:
1 #include2 #include3 #include4 #include5using
namespace
std;
6const
int maxn=1010;7
double
dp[maxn][maxn];89
intmain()
1021 printf("
%.4lf\n
",dp[0][0]);//
poj上g++要改成%.4f22}
23return0;
24 }
關於轉移方程,有什麼不懂的可以移步
沒什麼好說的,我這只弱雞都能看懂。。。
但我覺得需要注意的地方是**的第18行和19行,對邊界的處理,可以說沒有一點多餘啊。。。
注意到dp過程是從 右下角(dp[n][s]) 開始的,決定當前位置的值是它右、下、以及右下位置的值
那麼左邊、上邊的邊界自然不用考慮,可能出現溢位的位置就剩下右邊,下邊,以及右下角。
我們注意到程式僅在第18行處理了右下角,是不是kuangbin大神漏掉了右邊和下邊的處理呢?
不,事實上右邊和下邊的處理在計算概率的時候就已經完成了!
就拿下邊來說,注意到,當且僅當 i==n 時,訪問 dp[i+1][j] 時會在下邊越界。
但是,注意到與這一項相乘的概率恰好包括了 (n-i) 這一因子。
因此,越界訪問得到的資料( dp[n+1][j] )並不會影響 dp[i][j] 的計算結果。
可能很簡單。。。
但是對我這樣的弱雞來說,我覺得挺神奇的,求大犇們勿噴。。。
PO狀態為「處理中」的處理方法
ebs中經常會出現po提交審批後狀態為 處理中 的情況,此時po建立人無法開啟,審批人也無法開啟,工作流等檢視也無異常,可以使用一下sql處理再進行審批 set serveroutput on size 100000 declare cursor maxseq id number,subtype p...
關於概率dp的HINT
摘自shadowice1984的blog 這裡想講乙個關於概率題的小技巧,就是關於如何求某個事件發生的概率pp,事實上大家也清楚,除了一些特殊的近似演算法之外,我們在程式中計算概率的方法無非就是加減乘除四則運算而已 而減法和除法又是加法和乘法的逆。而在概率角度上,應該各位都是知道乘法原理和加法原理的...
易碎的鳥蛋 概率DP
時間限制 1 sec 記憶體限制 128 mb 提交 396 解決 80 提交 狀態 討論版 你們知道嗎?西電的跳樓塔上面有乙個鳥巢。某sxbk的教授對這個鳥巢很感興趣。經過仔細觀察,他發現鳥巢中有若干枚蛋。於是他想利用這些蛋做乙個試驗。測試一下蛋的堅固程度。這些蛋應該是具有相同的堅硬度。存在乙個非...