HDU4652 Dice(期望dp推式子)
第一問,求連續 n n n個數字相同的期望
定義 d p [ i ] dp[i] dp[i]是已經 i i i個不相同,到達目標狀態的期望
d p [ n − 1 ] = 1 m ∗ d p [ n ] + m − 1 m ∗ d p [ 1 ] + 1 dp[n-1]=\frac{1}{m}*dp[n]+\frac{m-1}{m}*dp[1]+1 dp[n−1]=m1∗dp[n]+mm−1∗dp[1]+1
d p [ n − 2 ] = 1 m ∗ d p [ n − 1 ] + m − 1 m ∗ d p [ 1 ] + 1 dp[n-2]=\frac{1}{m}*dp[n-1]+\frac{m-1}{m}*dp[1]+1 dp[n−2]=m1∗dp[n−1]+mm−1∗dp[1]+1
…
d p [ i ] = 1 m ∗ d p [ i + 1 ] + m − 1 m ∗ d p [ 1 ] + 1 dp[i]=\frac{1}{m}*dp[i+1]+\frac{m-1}{m}*dp[1]+1 dp[i]=m1∗dp[i+1]+mm−1∗dp[1]+1
那麼 d p [ i ] − d p [ i − 1 ] = 1 m ( d p [ i + 1 ] − d p [ i ] ) dp[i]-dp[i-1]=\frac{1}{m}(dp[i+1]-dp[i]) dp[i]−dp[i−1]=m1(dp[i+1]−dp[i])
那麼如果令 d i = d p [ i ] − d p [ i − 1 ] d_i=dp[i]-dp[i-1] di=dp[i]−dp[i−1],不就是公比為 m m m的等比數列嗎?
d n = d p [ 1 ] − d p [ 0 ] = − 1 d_n=dp[1]-dp[0]=-1 dn=dp[1]−dp[0]=−1
∑ i = 1 n d i = − d p [ 0 ] \sum\limits_{i=1}^{n}d_i=-dp[0] i=1∑ndi=−dp[0](錯位相減法)
所以可以等比數列求和快速解得
第二問,求連續n個數不相同的概率
定義 d p [ i ] dp[i] dp[i]為已經 i i i個不相同,到達目標的期望
d p [ i ] = m − i m ∗ d p [ i + 1 ] + 1 m ∑ j = 1 i d p [ j ] dp[i]=\frac{m-i}{m}*dp[i+1]+\frac{1}{m}\sum\limits_{j=1}^{i}dp[j] dp[i]=mm−i∗dp[i+1]+m1j=1∑idp[j]
d p [ i + 1 ] = m − i − 1 m ∗ d p [ i + 2 ] + 1 m ∑ j = 1 i + 1 d p [ j ] dp[i+1]=\frac{m-i-1}{m}*dp[i+2]+\frac{1}{m}\sum\limits_{j=1}^{i+1}dp[j] dp[i+1]=mm−i−1∗dp[i+2]+m1j=1∑i+1dp[j]
讓 d p [ i ] − d p [ i + 1 ] dp[i]-dp[i+1] dp[i]−dp[i+1]得到
d p [ i ] − d p [ i + 1 ] = m − i m ∗ d p [ i + 1 ] − m − i + 1 m ∗ d p [ i + 2 ] − 1 m ∗ d p [ i + 1 ] dp[i]-dp[i+1]=\frac{m-i}{m}*dp[i+1]-\frac{m-i+1}{m}*dp[i+2]-\frac{1}{m}*dp[i+1] dp[i]−dp[i+1]=mm−i∗dp[i+1]−mm−i+1∗dp[i+2]−m1∗dp[i+1]
d p [ i ] − d p [ i + 1 ] = m − i − 1 m ( d p [ i + 1 ] − d p [ i + 2 ] ) dp[i]-dp[i+1]=\frac{m-i-1}{m}(dp[i+1]-dp[i+2]) dp[i]−dp[i+1]=mm−i−1(dp[i+1]−dp[i+2])
d p [ 0 ] − d p [ 1 ] = 1 dp[0]-dp[1]=1 dp[0]−dp[1]=1
d p [ 1 ] − d p [ 2 ] = m m − 1 dp[1]-dp[2]=\frac{m}{m-1} dp[1]−dp[2]=m−1m
d p [ 2 ] − d p [ 3 ] = m m − 1 ∗ m m − 2 dp[2]-dp[3]=\frac{m}{m-1}*\frac{m}{m-2} dp[2]−dp[3]=m−1m∗m−2m
…
把上面所有等式相加得到
d p [ 0 ] − d p [ n ] = 1 + m m − 1 + m m − 1 ∗ m m − 2 . . . . dp[0]-dp[n]=1+\frac{m}{m-1}+\frac{m}{m-1}*\frac{m}{m-2}.... dp[0]−dp[n]=1+m−1m+m−1m∗m−2m....
#include <bits/stdc++.h>
using namespace std;
int t;
int quick_pow(int x,int n)
{
int ans=1;
while( n )
{
if( n&1 ) ans=ans*x;
n>>=1;
x=x*x;
} return ans;
}
int main()
{
while( cin >> t )
{
while( t-- )
{
int ok,m,n;
cin >> ok >> m >> n;
if( ok )
{
double ans=1,temp=1;
for(int i=1;i<=n-1;i++)
{
temp*=m*1.0/(m-i);
ans+=temp;
}
printf("%.6lf\n",ans);
}
else
{
double ans=(1.0-quick_pow(m,n))/(1.0-m);
printf("%.6lf\n",ans);
}
}
}
}
相關文章
- 費馬小定理-期望dp
- luogu P6835 概率DP 期望
- 推式子的做題記錄
- HNOI2015亞瑟王(期望dp)
- cf1097D. Makoto and a Blackboard(期望dp)
- P4564-[CTSC2018]假面【期望dp】
- P4900 食堂(數學式子推導)
- ZROJ#398. 【18提高7】隨機遊走(期望dp 樹形dp)隨機
- 【演算法學習筆記】概率與期望DP演算法筆記
- 洛谷P4550 收集郵票 題解 期望DP
- 動態規劃之經典數學期望和概率DP動態規劃
- [期望DP][紀中]【2010集訓隊出題】彩色圓環
- 式子集錦
- 洛谷P8208 [THUPC2022 初賽] 骰子旅行 題解 期望DP
- 洛谷P3600 隨機數生成器(期望dp 組合數)隨機
- 洛谷P1291 [SHOI2002]百事世界盃之旅(期望DP)
- P2303 [SDOI2012] Longge 的問題(尤拉函式,推式子)函式
- 動態dp & 矩陣加速遞推矩陣
- 期望
- 洛谷 P4284 [SHOI2014]概率充電器 概率與期望+換根DP
- 牛客周賽 Round50 E-小紅的樹上移動 (期望dp+逆元)
- dp 套 dp(dp of dp)小記
- 機率期望
- DP套DP
- 遊戲廠商如何在玩家期望、市場推廣之間取得平衡?遊戲
- 20240710機率期望
- 【筆記】Tricks - 期望筆記
- [DP] 數位DP
- 【DP】Educational DP Contest
- EM(最大期望)演算法推導、GMM的應用與程式碼實現演算法
- dp套dp 隨寫
- Note - 機率與期望
- 機率期望訓練
- 組合機率期望
- 【DP】區間DP入門
- 使用Dice loss實現清晰的邊界檢測
- dp
- c++虛擬函式實現計算表示式子C++函式