http://codeforces.com/problemset/problem/148/D

题意:w个白b个黑,公主和龙轮流取,公主先取,等概率取到一个。当龙取完后,会等概率跳出一只。(0<=w, b<=1000)

#include <bits/stdc++.h>
using namespace std;
int n, m;
const int N=1005;
double d[N][N][2];
int main() {
scanf("%d%d", &n, &m);
d[0][0][0]=0;
d[0][0][1]=1;
for(int i=1; i<=n; ++i) d[i][0][0]=d[i][0][1]=1;
for(int j=1; j<=m; ++j) d[0][j][1]=1;
for(int i=1; i<=n; ++i)
for(int j=1; j<=m; ++j) {
d[i][j][0]=(double)i/(i+j)+(1-d[i][j-1][1])*j/(i+j);
if(i==1 && j==1) d[i][j][1]=1;
else if(i>1 && j==1) d[i][j][1]=(double)i/(i+j);
else d[i][j][1]=(double)i/(i+j)+(((1.0-d[i-1][j-1][0])*i+(1.0-d[i][j-2][0])*(j-1))/(i+j-1))*j/(i+j);
}
//for(int k=0; k<2; ++k) for(int i=0; i<=n; ++i) for(int j=0; j<=m; ++j) printf("d[%d][%d][%d]:%.3f\n", i, j, k, d[i][j][k]);
printf("%.15f\n", d[n][m][0]);
return 0;
}

  

写完这题后发现一个sb问题QAQ i/(i+j) 默认调用整数的除法QAQ 没发现前我一直在纠结,我的思路完全没错啊QAQ可是为嘛有问题。最后是在写了后边的题发现了这个问题然后就QAQ解决了...

设$d[i][j][0]$表示公主先手有$i$个白$j$个黑能赢的概率,$d[i][j][1]$表示龙先手有$i$个白$j$个黑能赢的概率

显然

王妃抓时:
1、抓到白,P=i/(i+j)
2、抓到黑,P=j/(i+j)
d[i][j][0]=i/(i+j)+(1-d[i][j-1][1])*j/(i+j)

龙抓时:
抓到黑:P=j/(i+j)
跳出了白:P=i/(i+j-1)
跳出了黑:P=(j-1)/(i+j-1)
抓到白:P=i/(i+j)

d[i][j][1]=i/(i+j)+(((1-d[i-1][j-1][0])*i+(1-d[i][j-2][0])*(j-1))/(i+j-1))*j/(i+j)

自行理解= =

最新文章

  1. 用 CallerMemberName Attribute 和 EqualityComparer 统一处理类的属性值变化
  2. KVM 存储虚拟化 - 每天5分钟玩转 OpenStack(7)
  3. cocoa框架 for iOS
  4. .frm,.myd,myi转换为.sql导入数据库
  5. php 类
  6. 什么是blob,mysql blob大小配置介绍
  7. 创建CancellationTokenSource对象用于取消Task
  8. .NET多线程同步方法详解
  9. CSS预处理器之SASS用法指南
  10. warning: Could not canonicalize hostname: vpn
  11. openstack安装配置
  12. Kendo UI开发教程(6): Kendo DataSource 概述
  13. 一些公司对quantitative的要求
  14. UICollectionView具体解释
  15. Solidity constant view pure关键字的区别与联系
  16. header头 下载文件 参数详解
  17. visual studio 2017 创建 android 本地共享库(.so) 并从 C# android 项目中调用
  18. MIT-6.824 Raft协议
  19. [转]Python中yield的解释
  20. GUC-13 生产者消费者案例

热门文章

  1. Delphi数组
  2. 【php全局变量和静态变量、静态方法的使用方法】
  3. dbca:Exception in thread &quot;main&quot; java.lang.UnsatisfiedLinkError: get
  4. Solr入门之(6)配置文件solrconfig.xml
  5. 使用Aspose.Cell.dll导出Excel总结
  6. apk签名(不打包)
  7. phpexecel 导入导出,格式
  8. 在Android上用AChartEngine轻松绘制图表
  9. 第一个vs2013控制台程序
  10. 浅谈C++多态性