题目分析:

题目是求$E(MAX_{i=1}^n(ai))$, 它等于$E(\sum_{s \subset S}{(-1)^{|s|-1}*min(s))} = \sum_{s \subset S}{(-1)^{|s|-1}*E(min(s))}$。

那么设计期望DP,令$f[i][j][k]$表示前i个球,可选的区间为j个,球的个数是奇数还是偶数。然后就是要写一个高精度,不一定要真的写,可以yy出一种简便方法。

代码:

 #include<bits/stdc++.h>
using namespace std; const int maxn = ; int n; long long f[maxn][maxn*maxn][]; int C(int now){return (now+)*now/;} struct nb{
long long zs;
long long xs[];
}ans; void cunt(long long alpha,long long beta){
ans.zs += alpha/beta;alpha %= beta;
for(int i=;i<=;i++){
alpha*=;
ans.xs[i] += alpha/beta; alpha%=beta;
}
} void work(){
f[][][] = ;
for(int i=;i<=n;i++){
for(int j=;j<=C(i);j++){
for(int k=i-;k>=;k--){
if(C(i-k-) > j) break;
f[i][j][] += f[k][j-C(i-k-)][];
f[i][j][] += f[k][j-C(i-k-)][];
}
}
}
for(int i=;i<=;i++) ans.xs[i] = ;
ans.zs = ;
for(int i=;i<=n;i++){
for(int j=;j<C(i);j++){
cunt(C(n)*(f[i][j][]-f[i][j][]),(C(n)-j-C(n-i)));
}
}
/*double exm = 5.123456789;
printf("%.0lf\n",exm);
printf("%.1lf\n",exm);
printf("%.2lf\n",exm);
printf("%.3lf\n",exm);
printf("%.4lf\n",exm);
printf("%.5lf\n",exm);
printf("%.6lf\n",exm);
printf("%.7lf\n",exm);
printf("%.8lf\n",exm);
exit(0);*/
for(int i=;i>=;i--){
if(i == && ans.xs[]>=)ans.xs[i]++;
long long p = ans.xs[i]/;
ans.xs[i] -= p*; if(ans.xs[i] < ) p--,ans.xs[i]+=;
ans.xs[i-] += p;
}
ans.zs += ans.xs[];
printf("%lld.",ans.zs);
for(int i=;i<=;i++) printf("%lld",ans.xs[i]);
printf("\n");
} int main(){
int T; scanf("%d",&T);
while(T--){
scanf("%d",&n);
memset(f,,sizeof(f));
work();
}
return ;
}

HDU4624 Endless Spin 【最大最小反演】【期望DP】的更多相关文章

  1. HDU4624 Endless Spin 和 HAOI2015 按位或

    Endless Spin 给你一段长度为[1..n]的白色区间,每次随机的取一个子区间将这个区间涂黑,问整个区间被涂黑时需要的期望次数. n<=50 题解 显然是min-max容斥,但是n的范围 ...

  2. HDU4624 Endless Spin(概率&&dp)

    2013年多校的题目,那个时候不太懂怎么做,最近重新拾起来,看了一下出题人当初的解题报告,再结合一下各种情况的理解,终于知道整个大致的做法,这里具体写一下做法. 题意:给你一段长度为[1..n]的白色 ...

  3. 题解 hdu4624 Endless Spin

    题目链接 题目大意: 有长度为\(n\)的区间,每次随机选择一段(左右端点都是整数)染黑,问期望多少次全部染黑. \(n\leq 50\) 设\(n\)个随机变量\(t_1,...,t_n\).\(t ...

  4. CF1139D Steps to One (莫比乌斯反演 期望dp)

    \[ f[1] = 0 \] \[ f[i] = 1 + \frac{1}{m} \sum_{j = 1} ^ n f[gcd(i, j)] \ \ \ \ \ \ (i != 1) \] 然后发现后 ...

  5. [NOIP2016]换教室 D1 T3 Floyed+期望DP

    [NOIP2016]换教室 D1 T3 Description 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 ...

  6. 【NOIP2016】Day1 T3 换教室(期望DP)

    题目背景 NOIP2016 提高组 Day1 T3 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n 节课程安排在 n 个时间段上. ...

  7. BZOJ_3143_[Hnoi2013]游走_期望DP+高斯消元

    BZOJ_3143_[Hnoi2013]游走_期望DP+高斯消元 题意: 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机 ...

  8. 概率期望dp

    对于概率dp,我一直都弄得不是特别明白,虽然以前也有为了考试去突击过,但是终究还是掌握得不是很好,所以决定再去学习一遍,把重要的东西记录下来. 1.hdu4405 Description 在一个 \( ...

  9. 洛谷P1850 换教室 [noip2016] 期望dp

    正解:期望dp 解题报告: 哇我发现我期望这块真的布星,可能在刷了点儿NOIp之后会去搞一波期望dp的题...感觉连基础都没有打扎实?基础概念都布星! 好那先把这题理顺了嗷qwq 首先我们看到期望就会 ...

随机推荐

  1. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)

    目录 前言 第一步:安装Anaconda 1.下载和安装 2.配置Anaconda环境变量 第二步:安装TensorFlow-GPU 1.创建conda环境 2.激活环境 3.安装tensorflow ...

  2. (深度好文)重构CMDB,避免运维之耻

    (深度好文)重构CMDB,避免运维之耻 CMDB,几乎是每个运维人都绕不过去的字眼,但又是很多运维人的痛,因为CMDB很少有成功的,因此我也把它称之为运维人的耻辱. 那么到底错在哪儿了?该如何去重构它 ...

  3. webpack之loader和plugin简介

    webpack之loader和plugin简介 webpack入门和实战(二):全面理解和运用loader和plugins webpack入门(四)——webpack loader 和plugin w ...

  4. Verilog语法遗漏点

    1 关于参数定义 Parameter:parameter只能定义在端口生命的前面,如 Input[whith:0] a; Parameter whith=4; 这样的参数定义出现在声明的后面会报错 2 ...

  5. python中map()函数用法

    map函数的原型是map(function, iterable, …),它的返回结果是一个列表. 参数function传的是一个函数名,可以是python内置的,也可以是自定义的. 参数iterabl ...

  6. iRate---一个跳转AppStore评分弹窗

    https://www.aliyun.com/jiaocheng/357479.html 摘要:gitHub地址:https://github.com/nicklockwood/iRate可以通过配置 ...

  7. 阿里云CodePipeline vs Jenkins

    产品概述_产品简介_CodePipeline-阿里云 https://help.aliyun.com/document_detail/56512.html CodePipeline管理控制台https ...

  8. Linux&Windows中VNC协议及使用方法

    [转载]window下使用vnc远程登录ubuntu/linux图形界面_五个粽子_新浪博客http://blog.sina.com.cn/s/blog_677265f601012mqg.html V ...

  9. js 翻牌活动效果

    直接上代码 html: <div class="index_main"> <ul class="index_card"> <li ...

  10. vagrant的centos镜像,怎么用root用户登录?

    vagrant的centos镜像,默认用户和密码都是vagrant,如果要用root用户登录,应该怎么办呢? 百度了一下,有一篇博客是这样说的: 默认的登录用户是vagrant,如果想实现默认root ...