spoj1026 favorite dice
生活随笔
收集整理的這篇文章主要介紹了
spoj1026 favorite dice
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 #include <bits/stdc++.h>
2 using namespace std;
3 int n,t;
4 const int N = 1200;
5 double dp[N];
6 /*
7 甩一個n面的骰子,問每一面都被甩到的需要甩的次數期望是多少。
8 dp[i]:已經甩到i個面了,要達到n個面還需要次數的期望
9 顯然dp[n] = 0
10 那么逆序分析:dp[i] :再甩一次,有(n-i)/n的概率甩到其他的
11 有i/n的概率甩到已經被甩過的。
12 那么 dp[i]=(n-i)/n*dp[i+1]+i/n*dp[i]+1(+1是因為再甩了一次)
13 化簡可得到 dp[i]=dp[i+1]+n/(n-i)
14 */
15 int main()
16 {
17 scanf("%d",&t);
18 while(t--){
19 scanf("%d",&n);
20 dp[n] =0;
21 for(int i =n-1;i>=0;i--){
22 dp[i] = dp[i+1]+(n/(n-(double)i));
23 }
24 printf("%.2f\n",dp[0]);
25 }
26 return 0;
27 }
?
轉載于:https://www.cnblogs.com/tingtin/p/10677203.html
總結
以上是生活随笔為你收集整理的spoj1026 favorite dice的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java属性中指定Json的属性名称(序
- 下一篇: [Swift]LeetCode281.