傳送門
題意:乙個6個面的骰子,給定乙個固定的數,問使擲得骰子的和正好等於這個數的次數的期望,值得注意的是,如果當前的數為x,擲得的數為y,x+y>n,那麼這次擲得的結果作廢
思路:用了乙個超級笨的方法做的……
先計算了一下前幾個數的期望,從1開始,想得到1只能某次擲到1才可以,那麼:
dp[1]=1*1/6+2*5/6*1/6+3*(5/6)^2*1/6+......=6
再計算了一下2,想得到2的方式有兩個:2+0、1+1,那麼:
dp[2]=1*1/6+2*4/6*1/6+3*(4/6)^2*1/6+......+(dp[1]+1)*1/6+(dp[1]+2)*4/6*1/6+(dp[2]+3)*(4/6)^2*1/6+......=6
類似的思想依次計算了一下發現dp[1]——dp[6]都是6
然後再計算一下dp[7],7可以由1+6、2+5、3+4、4+3、5+2、6+1、7+0得到,其中7不會被骰子擲出,所以我們只考慮前六種,dp[7]=1/6*(dp[6]-1)+1/6*(dp[5]-1)+1/6*(dp[4]+1)+1/6*(dp[3]+1)+1/6*(dp[2]+1)+1/6*(dp[1]+1)=1/6*(dp[1]+dp[2]+dp[3]+dp[4]+dp[5]+dp[6]+6),
根據這個思想就可以發現dp[i]=1/6(dp[i-1]+dp[i-2]+dp[i-3]+dp[i-4]+dp[i-5]+dp[i-6]+6)
完整**:
#include#include#include#include#includeusing namespace std;
typedef long long ll;
const int n=1e5+5;
double dp[n];
int main()
dp[i]=(tmp+1)/(6-cnt)*6;
}printf("%.2f\n",dp[0]);
}return 0;
}
Poj 2096 dp求期望 概率dp
分類 動態規劃 2011 09 14 15 25 1581人閱讀收藏 舉報這題雖然 很簡單,但這是我第一題用dp求數學期望的題目,也算是入個門吧.cpp view plain copy print?dp求期望的題。題意 乙個軟體有s個子系統,會產生n種bug。某人一天發現乙個bug,這個bug屬於某...
HDU 3853 期望概率DP
期望概率dp簡單題 從 1,1 點走到 r,c 點,每走一步的代價為2 給出每乙個點走相鄰位置的概率,共3中方向,不動 x,y x y p x y 0 右移 x y x y 1 p x y 1 左移 x y x 1 y p x y 2 問最後走到 r,c 的期望 dp i j 為從 i j 點走到 ...
UvaLive6441(期望概率dp)
1.涉及負數時同時維護最大和最小,互相轉移。2.考場上最大最小混搭轉移wa,賽後發現如果是小的搭小的,大的搭大的就可過,類似這種 db a c i w i dp1 i 1 j 1 1 c i w i dp1 i 1 j 1 db b c i w i dp2 i 1 j 1 1 c i w i dp2...