首页 技术 正文
技术 2022年11月15日
0 收藏 784 点赞 4,793 浏览 1466 个字

题意无比诡异。 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 5005long double dp[][N][];
#define eps 1e-11int 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 ;
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,893
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,421
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,240
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,052
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,683
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,719