SPOJ Favorite Dice(概率dp)
2024-10-19 02:26:15
题意:
一个骰子,n个面,摇到每一个面的概率都一样。问你把每一个面都摇到至少一次需要摇多少次,求摇的期望次数
题解:
dp[i]:已经摇到i个面,还需要摇多少次才能摇到n个面的摇骰子的期望次数
因为我们只知道dp[n]的值,所以我们只能倒推,dp[n]=0(感觉大部分概率dp都是倒推~~~~)
dp[i]=i/n*dp[i]+(n-i)/ndp[i+1]+1
化简一下:
dp[i]=dp[i+1]+n/(n-i)
代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
const int maxn=1e3+10;
double dp[maxn];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
double n;
memset(dp,0,sizeof(dp));
scanf("%lf",&n);
dp[int(n)]=0.0;
for(int i=n-1;i>=0;--i)
{ dp[i]=dp[i+1]+n/(n-i);
}
printf("%.2lf\n",dp[0]);
}
return 0;
}
最新文章
- C# Webbrowser 常用方法及多线程调用
- 第3月第16天 fd_set 32 ACE_TP_Reactor
- jQuery常用方法和函数
- Could not create the view: An unexpected exception was thrown.问题解决
- 数理方程:Fourier级数
- poj 1940 Wine Trading in Gergovia_贪心
- Acitivity的一些属性配置
- debian支持ll命令
- 如何在 Swift 中优雅地处理 JSON
- R.layout.main cannot be resolved解决办法
- boost库之shared_ptr
- Selenium2(java)selenium常用API 五
- HDU 5122 K.Bro Sorting(模拟——思维题详解)
- 客户端热更新框架之UI热更框架设计(上)
- Jobs深入学习
- DockerFile解析
- day16-python常用的内置模块2
- ArcGIS案例学习笔记-批量裁剪地理模型
- MyBatis学习笔记(三)——优化MyBatis配置文件中的配置
- linux/Ubuntu系统上安装mysql数据库(附图详解)