HDU4624 Endless Spin 【最大最小反演】【期望DP】
题目分析:
题目是求$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】的更多相关文章
- HDU4624 Endless Spin 和 HAOI2015 按位或
Endless Spin 给你一段长度为[1..n]的白色区间,每次随机的取一个子区间将这个区间涂黑,问整个区间被涂黑时需要的期望次数. n<=50 题解 显然是min-max容斥,但是n的范围 ...
- HDU4624 Endless Spin(概率&&dp)
2013年多校的题目,那个时候不太懂怎么做,最近重新拾起来,看了一下出题人当初的解题报告,再结合一下各种情况的理解,终于知道整个大致的做法,这里具体写一下做法. 题意:给你一段长度为[1..n]的白色 ...
- 题解 hdu4624 Endless Spin
题目链接 题目大意: 有长度为\(n\)的区间,每次随机选择一段(左右端点都是整数)染黑,问期望多少次全部染黑. \(n\leq 50\) 设\(n\)个随机变量\(t_1,...,t_n\).\(t ...
- CF1139D Steps to One (莫比乌斯反演 期望dp)
\[ f[1] = 0 \] \[ f[i] = 1 + \frac{1}{m} \sum_{j = 1} ^ n f[gcd(i, j)] \ \ \ \ \ \ (i != 1) \] 然后发现后 ...
- [NOIP2016]换教室 D1 T3 Floyed+期望DP
[NOIP2016]换教室 D1 T3 Description 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 ...
- 【NOIP2016】Day1 T3 换教室(期望DP)
题目背景 NOIP2016 提高组 Day1 T3 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n 节课程安排在 n 个时间段上. ...
- BZOJ_3143_[Hnoi2013]游走_期望DP+高斯消元
BZOJ_3143_[Hnoi2013]游走_期望DP+高斯消元 题意: 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机 ...
- 概率期望dp
对于概率dp,我一直都弄得不是特别明白,虽然以前也有为了考试去突击过,但是终究还是掌握得不是很好,所以决定再去学习一遍,把重要的东西记录下来. 1.hdu4405 Description 在一个 \( ...
- 洛谷P1850 换教室 [noip2016] 期望dp
正解:期望dp 解题报告: 哇我发现我期望这块真的布星,可能在刷了点儿NOIp之后会去搞一波期望dp的题...感觉连基础都没有打扎实?基础概念都布星! 好那先把这题理顺了嗷qwq 首先我们看到期望就会 ...
随机推荐
- 自建 Gitlab (邮箱配置、拆分 PostgreSQL、Redis) + 随想
前言 最近折腾了一番自建 gitlab,在此做个记录,供君参考.整个构建过程基于 Docker Swarm(近期有计划将微服务移植到 Kubernetes,但还没倒腾顺手,暂时先沿用旧的方案),主题配 ...
- 我去年码了个表(WPF MvvM)
又快个把月没写博客了(最近忙着学JAVA去了,都是被逼的/(ㄒoㄒ)/~~),然后用WPF码了个表,其实想加上那种提醒功能什么的,额,就这样了吧,主要是感受一下数据驱动的思想. 效果如下: 前端XAM ...
- asp.net core C#设计一个实用的线程池
菜菜呀,我最近研究技术呢,发现线上一个任务程序线程数有点多呀 CEO,CTO,CFO于一身的CXO x总,你学编程呢? 菜菜 作为公司总负责人,我以后还要管理技术部门呢,怎么能不会技术呢 CEO,CT ...
- xadmin集成DjangoUeditor
1.安装 安装DjangoUeditor 1)去GitHub上面下载djangoueditor源码包(https://github.com/twz915/DjangoUeditor3) 然后进入源 ...
- ORM简介 单表添加修改删除表记录
---------------------------------------------------------------目标既定,在学习和实践过程中无论遇到什么困难.曲折都不灰心丧气,不轻易改变 ...
- Python全栈开发之路 【第十八篇】:Ajax技术
Ajax技术 Ajax = 异步 JavaScript 和 XML. Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 1.jQuery的load()方法 jQuery loa ...
- Mysql:is not allowed to connect to this MySQL server
连接mysql的时候发生这个错误:ERROR 1130: Host '192.168.1.110' is not allowed to connect to this MySQL server 解决方 ...
- python2中reload(sys)后设置编码
python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't deco ...
- springboot 双数据源+aop动态切换
# springboot-double-dataspringboot-double-data 应用场景 项目需要同时连接两个不同的数据库A, B,并且它们都为主从架构,一台写库,多台读库. 多数据源 ...
- 本地项目托管到github上
一,步骤 1.在github上新建一个仓库 2.进入我的项目目录, git init //初始化本地仓库 3.git add . //把修改的代码提交到暂存区 4.git status 该命令会把你本 ...