题意无比诡异。 http://acm.timus.ru/problem.aspx?space=1&num=1716

俄罗斯的英文简直把我吓尿。

题意是对于输入:X1X2X3X4(Xi为YES或NO)

装变为              Y X1X2X3

然后问xi对应的错误的期望个数。 每种情况都是等概率的。

然后用dp做

dp[i][j][k](i表示第i位的情况,j表示1-i位中有多少个YES,k表示第i为是YES还是NO,是YES则为0,是NO则为1)

转移方程:

初始化: dp[1][1][0]= x / n;

    dp[1][0][1]= y/ n; (其中x表示YES的总个数,y表示NO的总个数)

    ans = dp[1][0][1];//最开始为N的直接加入

转移:  dp[i+1][j][1]=(dp[i][j][1]+dp[i][j][0])*(y-i+j)/(n-i)

     dp[i+1][j+1][0]=(dp[i][j][1]+dp[i][j][0])*(x-i)/(n-i)

     ans += dp[i][j][0]*(y-i+j)/(n-i)+dp[i][j][1]*(x-i)/(n-i)  //加上由1->0的期望和0->1的期望。

//
// main.cpp
// timus1716
//
// Created by 陈加寿 on 16/2/29.
// Copyright © 2016年 chenhuan001. All rights reserved.
// #include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;
#define N 5005 long double dp[][N][];
#define eps 1e-11 int main(int argc, const char * argv[]) {
int n,s;
cin>>n>>s;
long double x=s-*n;
long double y=n-x;
int a=; dp[a][][] = x/n;
dp[a][][] = y/n; long double ans=dp[a][][];
long double tmp,tx,ty;
for(int i=;i<n;i++)
{
// for(int j=max(0,i-3*n+s);j<=min(i,s-2*n);j++)
// {
// dp[a^1][j][0]=dp[a^1][j][1]=0;
// }
for(int j=max(,i-*n+s);j<=min(i,s-*n);j++)
{
tx=(x-j)/(n-i);
ty=(y-i+j)/(n-i);
//if(dp[a][j][0]!=0)
//{
//dp[i][j][0]
//if(i-j < y)
//{
tmp = dp[a][j][]*ty;
dp[a^][j][] += tmp;
ans += tmp;
//}
//if(j != (s-2*n))
//{
tmp =dp[a][j][]*tx;
dp[a^][j+][] +=tmp;
//}
//}
//if(dp[a][j][1]!=0)
//{
//dp[i][j][1]
//if(i-j < y)
//{
tmp=dp[a][j][]*ty;
dp[a^][j][] += tmp;
//}
//if(j!=s-2*n)
//{
tmp=dp[a][j][]*tx;
dp[a^][j+][] += tmp;
ans += tmp;
//}
//}
}
memset(dp[a],,sizeof(dp[a]));
a^=;
}
printf("%.6Lf\n",ans);
return ;
}

timus1716(概率dp)的更多相关文章

  1. Codeforces 28C [概率DP]

    /* 大连热身D题 题意: 有n个人,m个浴室每个浴室有ai个喷头,每个人等概率得选择一个浴室. 每个浴室的人都在喷头前边排队,而且每个浴室内保证大家都尽可能均匀得在喷头后边排队. 求所有浴室中最长队 ...

  2. HDU 4405 Aeroplane chess (概率DP)

    题意:你从0开始,要跳到 n 这个位置,如果当前位置是一个飞行点,那么可以跳过去,要不然就只能掷骰子,问你要掷的次数数学期望,到达或者超过n. 析:概率DP,dp[i] 表示从 i  这个位置到达 n ...

  3. POJ 2096 Collecting Bugs (概率DP)

    题意:给定 n 类bug,和 s 个子系统,每天可以找出一个bug,求找出 n 类型的bug,并且 s 个都至少有一个的期望是多少. 析:应该是一个很简单的概率DP,dp[i][j] 表示已经从 j ...

  4. POJ 2151 Check the difficulty of problems (概率DP)

    题意:ACM比赛中,共M道题,T个队,pij表示第i队解出第j题的概率 ,求每队至少解出一题且冠军队至少解出N道题的概率. 析:概率DP,dp[i][j][k] 表示第 i 个队伍,前 j 个题,解出 ...

  5. 概率DP light oj 1030

    t组数据 n块黄金 到这里就捡起来 出发点1 到n结束  点+位置>n 重掷一次 dp[i] 代表到这里的概率 dp[i]=(dp[i-1]+dp[i-2]... )/6  如果满6个的话 否则 ...

  6. hdu 4050 2011北京赛区网络赛K 概率dp ***

    题目:给出1-n连续的方格,从0开始,每一个格子有4个状态,左右脚交替,向右跳,而且每一步的步长必须在给定的区间之内.当跳出n个格子或者没有格子可以跳的时候就结束了,求出游戏的期望步数 0:表示不能到 ...

  7. [转]概率DP总结 by kuangbin

    概率类题目一直比较弱,准备把kuangbin大师傅总结的这篇题刷一下! 我把下面的代码换成了自己的代码! 原文地址:http://www.cnblogs.com/kuangbin/archive/20 ...

  8. SGU 422 Fast Typing(概率DP)

    题目大意 某人在打字机上打一个字符串,给出了他打每个字符出错的概率 q[i]. 打一个字符需要单位1的时间,删除一个字符也需要单位1的时间.在任意时刻,他可以花 t 的时间检查整个打出来的字符串,并且 ...

  9. HDU 4050 wolf5x(动态规划-概率DP)

    wolf5x Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

随机推荐

  1. javascript - 你不容错过的es6模板写法

    /** * ``即重音符(128键盘左上角ESC下面那个键盘) * 隶属:模板字符串 */ let unit = '4'; let keywords = 'uc'; // step1:模板变量 ${v ...

  2. C++11 Lambda表达式简单解析

    C++11 新增了非常多特性,lambda 表达式是当中之中的一个.假设你想了解的 C++11 完整特性, 建议去http://www.open-std.org/看看新标准! 非常多语言都提供了 la ...

  3. oracle data file header replace(測)

    SQL> create tablespace rm_tbs datafile 'f1.dbf' size 10m; Tablespace created. SQL> select file ...

  4. 【BIEE】13_BIEE组件介绍(补充)

    Oracle BI Server 该组件主要是管理RPD的,如果该组件不正常,那么Admin Tool将无法联机打开 Oracle交互式信息板 这个组件控制BIEE仪表盘,我们已经建立好的分析.提示等 ...

  5. detach与remove区别,以及detach保留被删除的元素数据,使用

    detach() 会保留所有绑定的事件.附加的数据,这一点与 remove() 不同. remove掉元素后,元素再也找不回了.但是detach还能找回来,还能保留下来. 实现方式如下代码: < ...

  6. wireshark过滤语法总结 (转载)

    做应用识别这一块经常要对应用产生的数据流量进行分析. 抓包采用wireshark,提取特征时,要对session进行过滤,找到关键的stream,这里总结了wireshark过滤的基本语法,供自己以后 ...

  7. vb.net版机房收费——助你学会七层架构(二)反射+抽象工厂

    上一篇咱们做好了准备工作.数据库设计和Entity层,如今介绍 4.反射+抽象工厂 反射:用来消除Switch和if的,这里我尽量简单地介绍,以便大家理解.反射其有用起来非常easy.你就觉得他就是决 ...

  8. 使用Google Https搜索

    一. 将浏览器Google的默认搜索使用https 1. IE浏览器 进入注册表搜索"google.com"将搜索替换成https://www.google.com.hk 2. F ...

  9. GoogLeNet模型的微调

    我从零开始训练了GoogLeNet模型. 但它没有给我带来希望的结果. 作为替代,我想对我的数据集中的GoogLeNet模型进行微调. 有谁知道我应该遵循什么步骤? 采纳答案: 假设你正在尝试做图像分 ...

  10. URAL 1750 Pakhom and the Gully 计算几何+floyd

    题目链接:点击打开链接 gg.. . #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cs ...