ball
我真是個nc啊~
這麼簡單的概率,居然想了幾分鐘???
首 先很
容易看出
第i次取
球后會有
2+i個
球存
在首先很容易看出第i次取球後會有2+i個球存在
首先很容易看
出第i次
取球後會
有2+i
個球存在
白球和黑球沒有本質上的區別,所以各佔一半但是啊
,用期望
怎麼來寫
??
\color但是啊,用期望怎麼來寫??
但是啊,用期
望怎麼來
寫??
定義d p[
i]
dp[i]
dp[i
]為取i
ii次球後剩下白球個數的期望
d p[
i]可以
從dp[
i−1]
轉移而來
dp[i]可以從dp[i-1]轉移而來
dp[i]可
以從dp
[i−1
]轉移而
來 若 上一
次抽到白
球,概率
是dp[
i−1]
i−1+
2,此時
貢獻是d
p[i−
1]+1
個白
球若上一次抽到白球,概率是\frac,此時貢獻是dp[i-1]+1個白球
若上一次抽到
白球,概
率是i−
1+2d
p[i−
1],
此時貢獻
是dp[
i−1]
+1個白
球 若 沒有
抽到白球
,概率是
上面的補
集,貢獻
是dp[
i−1]
個白
球若沒有抽到白球,概率是上面的補集,貢獻是dp[i-1]個白球
若沒有抽到白
球,概率
是上面的
補集,貢
獻是dp
[i−1
]個白球
所以貢獻乘概率相加就算期望了
而且這題正推逆推都無所謂了
#include using namespace std;
int n;
double dp[1000009];
int main()
printf("%.7lf",dp[n]);
}
牛客 粉刷匠(dp)
有些題目可以進行二維dp,當然這題用四維也可以做。我們先做每一行,f,表示第i個用j次,塗前k個的最大值。做完後,可以把它看作分組揹包問題,每個木板都是乙個物品,再跑一邊dp即可 includeusing namespace std const int n 3e5 10 int f 55 2510 ...
牛客網dp專題 數字dp
題目 輸入a和b,求a到b的所有數之中有多少0出現 題解 先算個位,個位是0的情況有x種 再算十位,十位是0的情況有y種 一共是x y 用數字dp做 dp i 中存的是從0 99 9 共i個9 中0的個數 不含前導0 dp0 i 中存放的是00 0 99 9 共i個0,i個9 中0的個數 含前導0 ...
牛客網 ABBA 線性DP
bobo有乙個長度為2 n m 的字串,由字元 a 和 b 組成。該字串還具有迷人的特性 它可以被分解為長度為2的 n m 子串行,並且在 n m 個子序列中,它們中的n為 ab 而其他m為 ba 給定n和m,找出模數可能的字串數。思路 dpi j 表示用了i個ab,j個ba的方案數,我們考慮當前狀...