题意:

有n种选择,每种选择对应m种状态。每种选择发生的概率相等,每种选择中对应的每种状态发生的概率相等。

求n种选择和m种状态中每种至少发生一次的期望。

期望DP好别扭啊。要用倒推的方法。

dp[i][j]表示已经发生了i种选择,j种状态。

那么由dp[n][m]这个时刻到最终时刻的期望是0.

而我们的起始时刻是dp[0][0]。

而dp[i][j]可以转移到四种情况,

1 dp[i][j]本身

2 dp[i+1][j]

3 dp[i][j+1]

4 dp[i+1][j+1]

那么dp[i][j]表示的期望是他能够转移到别的所有的情况的期望乘其权值的和。

好的。这大概就是期望DP的精髓了...

#include<stdio.h>
#include<string.h>
double dp[][];
int main()
{
int n,m;
scanf("%d%d",&n,&m);
memset(dp,,sizeof(dp));
for(int i=n;i>=;i--)
{
for(int j=m;j>=;j--)
{
if(i!=n||j!=m)
dp[i][j]=(dp[i][j+]*(m-j)*i/((double)(m*n))+dp[i+][j]*(n-i)*j/((double)(m*n))+dp[i+][j+]*(n-i)*(m-j)/((double)(m*n))+)/((double)(-((double)(i*j))/(m*n)));
}
}
printf("%.4lf\n",dp[][]);
}

POJ 2096 【期望DP】的更多相关文章

  1. poj - 2096 概率dp (找bug)

    题意:一个人一天只能找1个bug ,这个bug属于s个子系统中的某一个子系统,属于n种bug 中的某一种 ,求 这个人找出n种bug ,并且s个系统都bug的期望 (每个系统的一定可以找出bug) 一 ...

  2. POJ 2096 (概率DP)

    题目链接: http://poj.org/problem?id=2096 题目大意:n种bug,s个子系统.每天随机找一个bug,种类随机,来自系统随机.问找齐n种bug,且每个子系统至少有一个bug ...

  3. POJ 2096 Collecting Bugs (概率DP,求期望)

    Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other material stu ...

  4. poj 2096 Collecting Bugs && ZOJ 3329 One Person Game && hdu 4035 Maze——期望DP

    poj 2096 题目:http://poj.org/problem?id=2096 f[ i ][ j ] 表示收集了 i 个 n 的那个. j 个 s 的那个的期望步数. #include< ...

  5. poj 2096 , zoj 3329 , hdu 4035 —— 期望DP

    题目:http://poj.org/problem?id=2096 题目好长...意思就是每次出现 x 和 y,问期望几次 x 集齐 n 种,y 集齐 s 种: 所以设 f[i][j] 表示已经有几种 ...

  6. POJ 2096 Collecting Bugs:期望dp

    题目链接:http://poj.org/problem?id=2096 题意: 有一个程序猿,他每天都会发现一个bug. bug共有n个种类.属于某一个种类的概率为1/n. 有s个子系统,每个bug属 ...

  7. poj 2096 Collecting Bugs(期望 dp 概率 推导 分类讨论)

    Description Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other ...

  8. POJ 2096 找bug 期望dp

    题目大意: 一个人受雇于某公司要找出某个软件的bugs和subcomponents,这个软件一共有n个bugs和s个subcomponents,每次他都能同时随机发现1个bug和1个subcompon ...

  9. 期望DP

    BZOJ 1415 #include <iostream> #include <cstring> #include <algorithm> #include < ...

随机推荐

  1. 计算机中丢失 msvcr110.dll 怎么办

    笔者在一次运行 php.exe 时,运到“无法启动此程序,因为计算机中丢失 MSVCR110.dll.尝试重新安装该程序以解决此问题.”的提示,当时很无语,因为系统是刚刚安装好的,而且是最新版本的. ...

  2. css之border,dispaly

    border:即为边框设置 solid:实线 dashed:虚线 dotted:圆点线 css代码: .c1{ width: 100%; height: 50px; border: 25px dott ...

  3. ScrumMaster需要了解的7件事

    当一个组织开始使用Scrum时,被选为担任Scrumaster角色的人通常来自于那些有管理背景的人.组织期望那些管理人员,所谓的“大师”,能够交付Scrum项目因为她有管理的专门知识——并且可以同时管 ...

  4. Oracle对索引列同时使用多个聚合函数的性能问题

    Oracle某一数据表tkk715(数据量在一千万左右),对一个索引字段做获取最大值与最小值的聚合函数操作,响应时间较长(超过3秒): 将SQL改写为分别取最大.最小的聚合值,IO和响应时间显著下降到 ...

  5. oracle11g导入dmp文件(根据用户)

    已知:用户名.密码.dmp文件 .(指即将导入dmp文件的用户名和密码) 需求:将该dmp文件导入本地oracle11g中. 步骤: 1.将该dmp文件拷贝到G:\oracle11g\admin\or ...

  6. spring 中事务的PROPAGATION_REQUIRED,Readonly的解释

                 一.事务传播行为种类 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为, 它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播 ...

  7. [Hibernate] - Query Select

    测试了常用的一些HQL查询方法,具体HQL的强大可以参考: http://docs.jboss.org/hibernate/orm/3.5/reference/zh-CN/html/queryhql. ...

  8. visual studio 编译时 出现 Files 的值 乱码

    参考了:http://blog.163.com/jiang_tao_2010/blog/static/121126890201031031337332/ 最近在做程序时,在生成解决方法过程中,电脑出现 ...

  9. FastReport使用总结三——条码简介

    FastReport Desinger中支持的Barcode类型如下图所示: 设置其Barcode属性可以实现支持不同的条码类型. 注意: 支持的条码类型说明如下: 总结: 1.通过设置Barcode ...

  10. 怎样进行Android UI元素设计

    Android UI元素里面包含了许多的内容,比如:该平台由操作系统.中间件.用户界面和应用软件组成,一个应用程序要想受用户喜爱,那么UI可不能差. Android为相似的编程名词引入了一些新的术语, ...