zoj 2949 - Coins of Luck
2024-08-23 22:15:21
题目:有2中面条各n碗。每次抛硬币推断吃哪一种(到一种吃完为止)。问抛硬币的数学期望。
分析:动态规划。概率dp。求出每种结束状态(即,有一种吃完)的概率,分别乘以步长即为期望。
大黄解法:状态位剩余的碗数,逆向求解,状态方程:
DP[ i ][ j ] = (DP[ i-1 ][ j ]+DP[ i ][ j-1 ])/2 + 1 { orz~~ (所有20行代码就能搞定) }。
说明:(2011-09-27 03:22)。
#include <stdio.h>
#include <stdlib.h> double p[ 1002 ][ 1002 ];
double q[ 1002 ]; int main()
{
for ( int i = 0 ; i <= 1000 ; ++ i )
for ( int j = 0 ; j <= 1000 ; ++ j )
p[ i ][ j ] = 0.0;
p[ 0 ][ 0 ] = 1.0;
for ( int i = 0 ; i <= 1000 ; ++ i )
for ( int j = 0 ; j <= 1000 ; ++ j ) {
p[ i+1 ][ j ] += p[ i ][ j ]*0.5;
p[ i ][ j+1 ] += p[ i ][ j ]*0.5;
} for ( int i = 1 ; i <= 1000 ; ++ i ) {
double sum = p[ i ][ 0 ]*i;
for ( int j = i-1 ; j >= 1 ; -- j )
sum += (i+j)*(p[ i ][ j ]-p[ i ][ j-1 ]*0.5);
q[ i ] = sum*2.0;
} int t,n;
while ( scanf("%d",&t) != EOF )
while ( t -- ) {
scanf("%d",&n);
printf("%.2lf\n",q[ n ]);
}
return 0;
}
最新文章
- 图解c/c++多级指针与“多维”数组
- Msyql-检测数据库版本
- UML类图中的六种关系及实例【补充】
- (转) 使用Speech SDK 5.1文字转音频
- 线段树 + 矩阵 --- ZOJ 3772 Calculate the Function
- Linux学习之四——磁盘与文件系统管理
- [转]EntityFramework走马观花之CRUD(上)
- 测试工具:insure++
- SQL Server 2012 - 数据库的基础操作
- 基于cxf开发restful风格的Web Service
- mybatis通用mapper的使用
- Volley 图片加载相关源码解析
- sql server使用sql语句上传Excel到数据库
- pyqt pyside 设置窗口关闭时删除自身
- android recovery升级过程中掉电处理
- Java基础语法<;八>; 继承 多态 抽象 反射
- 在树莓派是安装并配置NTP服务
- 使用python操作excel表格
- Django--ORM(模型层)-重点
- 如何在Axure中使用FontAwesome字体图标
热门文章
- 一两眼题(oneortwo)
- Codeforces Round #316 (Div. 2) B 贪心
- Reactor模式总结
- 局部a链接样式
- DOS头结构
- 嵌入式Linux之我行——ARM MMU工作原理剖析【转】
- Codeforces Gym100971 K.Palindromization-回文串 (IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13)
- MapReduce1 工作机制
- JMeter性能测试常用之事务控制器实例
- HTTP 状态消息 [转]