Lights inside 3D Grid LightOJ - 1284 (概率dp + 推导)
Lights inside 3D Grid LightOJ - 1284
题意:
在一个三维的空间,每个点都有一盏灯,开始全是关的,
现在每次随机选两个点,把两个点之间的全部点,开关都按一遍;问k次过后开着的灯的期望数量;
题解:对每个点 单独计算贡献,即k次过后每个点开关被按了奇数次的期望
对于每个点来说,要使得该点开关被按过,那么选择的两个点不能在该点的同侧,即三个方向上都在两侧
这样的概率为$P = \frac{(X \cdot X - (i - 1) \cdot (i - 1) - (X - i) \cdot (X - i))} {X \cdot X} \cdot Y方向上的 \cdot Z方向上的 $
现在计算k次过后开关被按了奇数次的期望,定义f(K)为所求,则有递推如下
\(f(K) = (1 - P)\cdot f(K - 1) + P \cdot (1 - f(K-1))\)
化简得\(f(K) = \frac{1 - (1-2p)^K}{2}\)
#include<bits/stdc++.h>
#define LL long long
using namespace std;
const double eps = 1e-6;double cal(int limit,int x){return (1.0 * limit * limit - (x - 1) * (x - 1) - (limit - x) * (limit - x)) / limit / limit;
}
double qpow(double x,int y){double ans = 1;while(y){if(y & 1) ans = ans * x;x = x * x,y >>= 1;}return ans;
}
int main()
{int T, cas = 1;cin>>T;while(T--){int X,Y,Z,K;scanf("%d%d%d%d",&X,&Y,&Z,&K);printf("Case %d: ",cas++);double ans = 0;for(int i = 1;i <= X;i++)for(int j = 1;j <= Y;j++)for(int z = 1;z <= Z;z++){double p = cal(X,i) * cal(Y,j) * cal(Z,z);ans += (1 - qpow(1 - 2 * p,K))/ 2;}printf("%.12lf\n",ans);}return 0;
}
转载于:https://www.cnblogs.com/jiachinzhao/p/7205184.html
Lights inside 3D Grid LightOJ - 1284 (概率dp + 推导)相关推荐
- Discovering Gold LightOJ - 1030[概率dp或者记忆化搜索]
题目大意:有一个[1,n][1,n][1,n]的数轴,数轴上的每个对应位置上都有金矿,你初始位置是1,然后你每次都会投色子决定你下一步跳到哪里,如果你跳出了nnn,那么你就要重新投.问你跳到nnn的时 ...
- LightOJ 1395 A Dangerous Maze (II) (概率dp)
题意:给出n扇门,每扇门都给出一个数x,若为正数,则表示在x时间后走出迷宫,若为负数,则表示在x时间后回到起点,你会记得最后k扇你走过的门(不会再走),求最后的期望时间. 题解:概率dp 这题的进阶版 ...
- LightOJ 1079 Just another Robbery【概率DP】
题目: As Harry Potter series is over, Harry has no job. Since he wants to make quick money, (he wants ...
- LightOJ 1079 Just another Robbery (概率dp+背包)
题意:有n家银行,每家银行都有一定数量的钱和被抓概率,给出自己被抓概率的上限,求能获得最多的钱. 题解:概率dp+背包 用dp[]dp[]dp[]表示获得这么多钱被抓的概率.获得同等钱的概率要尽可能小 ...
- 2018.09.01 poj3071Football(概率dp+二进制找规律)
传送门 概率dp简单题. 设f[i][j]表示前i轮j获胜的概率. 如果j,k能够刚好在第i轮相遇,找规律可以发现j,k满足: (j−1)>>(i−1)(j−1)>>(i−1) ...
- 【原创】概率DP总结 by kuangbin
概率DP主要用于求解期望.概率等题目. 转移方程有时候比较灵活. 一般求概率是正推,求期望是逆推.通过题目可以体会到这点. 首先先推荐几篇参考的论文: <信息学竞赛中概率问题求解初探> & ...
- poj 3071 Football(概率dp)
http://poj.org/problem? id=3071 大致题意:有2^n个足球队分成n组打比赛.给出一个矩阵a[][],a[i][j]表示i队赢得j队的概率.n次比赛的流程像这样France ...
- HDU 5001 概率DP || 记忆化搜索
2014 ACM/ICPC Asia Regional Anshan Online 给N个点,M条边组成的图,每一步能够从一个点走到相邻任一点,概率同样,问D步后没走到过每一个点的概率 概率DP 測 ...
- hdu 3853 LOOPS 概率DP
简单的概率DP入门题 代码如下: 1 #include<iostream> 2 #include<stdio.h> 3 #include<algorithm> 4 ...
最新文章
- 【计算机网络】数据链路层 : 局域网基本概念 ( 局域网分类 | 拓扑结构 | 局域网特点 | 局域网传输介质 | 介质访问控制方法 | IEEE 802 | 链路层 LLC、MAC 控制子层 )
- [MIPS汇编语言]输入输出演示(数组)
- java jtable 监听事件_【Java】在JTable中设置鼠标监听器,点击操作对应数据
- 【Qt】Qt中QJsonParseError类
- 133. Clone Graph
- 杨元庆:出身中国是联想吸引国际用户的障碍
- 玩转Java注解:元注解、内置注解、自定义注解的原理和实现
- altas(ajax)控件(二):悬浮面板控件AlwaysVisibleControl
- Kubernetes 配置私有镜像仓库时,没有权限访问的问题
- 计算机怎么弹出专业团队,2018年专业技术人员继续教育答案92分
- warning C4996 sprintf This function or variable may be unsafe
- 正则表达式,小于等于180且大于等于0的浮点型
- 金蝶K3批量出库语句与执行方法
- DTMF信号检测分析(Matlab)
- 小米mix2安兔兔html5跑分,vivo X21跑分多少?高通骁龙660 AIE安兔兔跑分实测
- ubuntu下flv 批量转化成 mp3格式脚本
- 步进电机的计算机控制系统设计,基于计算机并口的步进电机控制系统设计
- P1567统计天数-C++编程解析-数组
- R语言与数据分析练习:使用ARIMA模型预测网站访问量
- 王爽 《汇编语言》之寄存器