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 + 推导)相关推荐

  1. Discovering Gold LightOJ - 1030[概率dp或者记忆化搜索]

    题目大意:有一个[1,n][1,n][1,n]的数轴,数轴上的每个对应位置上都有金矿,你初始位置是1,然后你每次都会投色子决定你下一步跳到哪里,如果你跳出了nnn,那么你就要重新投.问你跳到nnn的时 ...

  2. LightOJ 1395 A Dangerous Maze (II) (概率dp)

    题意:给出n扇门,每扇门都给出一个数x,若为正数,则表示在x时间后走出迷宫,若为负数,则表示在x时间后回到起点,你会记得最后k扇你走过的门(不会再走),求最后的期望时间. 题解:概率dp 这题的进阶版 ...

  3. 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 ...

  4. LightOJ 1079 Just another Robbery (概率dp+背包)

    题意:有n家银行,每家银行都有一定数量的钱和被抓概率,给出自己被抓概率的上限,求能获得最多的钱. 题解:概率dp+背包 用dp[]dp[]dp[]表示获得这么多钱被抓的概率.获得同等钱的概率要尽可能小 ...

  5. 2018.09.01 poj3071Football(概率dp+二进制找规律)

    传送门 概率dp简单题. 设f[i][j]表示前i轮j获胜的概率. 如果j,k能够刚好在第i轮相遇,找规律可以发现j,k满足: (j−1)>>(i−1)(j−1)>>(i−1) ...

  6. 【原创】概率DP总结 by kuangbin

    概率DP主要用于求解期望.概率等题目. 转移方程有时候比较灵活. 一般求概率是正推,求期望是逆推.通过题目可以体会到这点. 首先先推荐几篇参考的论文: <信息学竞赛中概率问题求解初探> & ...

  7. poj 3071 Football(概率dp)

    http://poj.org/problem? id=3071 大致题意:有2^n个足球队分成n组打比赛.给出一个矩阵a[][],a[i][j]表示i队赢得j队的概率.n次比赛的流程像这样France ...

  8. HDU 5001 概率DP || 记忆化搜索

    2014 ACM/ICPC Asia Regional Anshan Online 给N个点,M条边组成的图,每一步能够从一个点走到相邻任一点,概率同样,问D步后没走到过每一个点的概率 概率DP  測 ...

  9. hdu 3853 LOOPS 概率DP

    简单的概率DP入门题 代码如下: 1 #include<iostream> 2 #include<stdio.h> 3 #include<algorithm> 4 ...

最新文章

  1. 【计算机网络】数据链路层 : 局域网基本概念 ( 局域网分类 | 拓扑结构 | 局域网特点 | 局域网传输介质 | 介质访问控制方法 | IEEE 802 | 链路层 LLC、MAC 控制子层 )
  2. [MIPS汇编语言]输入输出演示(数组)
  3. java jtable 监听事件_【Java】在JTable中设置鼠标监听器,点击操作对应数据
  4. 【Qt】Qt中QJsonParseError类
  5. 133. Clone Graph
  6. 杨元庆:出身中国是联想吸引国际用户的障碍
  7. 玩转Java注解:元注解、内置注解、自定义注解的原理和实现
  8. altas(ajax)控件(二):悬浮面板控件AlwaysVisibleControl
  9. Kubernetes 配置私有镜像仓库时,没有权限访问的问题
  10. 计算机怎么弹出专业团队,2018年专业技术人员继续教育答案92分
  11. warning C4996 sprintf This function or variable may be unsafe
  12. 正则表达式,小于等于180且大于等于0的浮点型
  13. 金蝶K3批量出库语句与执行方法
  14. DTMF信号检测分析(Matlab)
  15. 小米mix2安兔兔html5跑分,vivo X21跑分多少?高通骁龙660 AIE安兔兔跑分实测
  16. ubuntu下flv 批量转化成 mp3格式脚本
  17. 步进电机的计算机控制系统设计,基于计算机并口的步进电机控制系统设计
  18. P1567统计天数-C++编程解析-数组
  19. R语言与数据分析练习:使用ARIMA模型预测网站访问量
  20. 王爽 《汇编语言》之寄存器

热门文章

  1. Navicat for MySQL 设置定时任务
  2. Ajax入门总结--Ajax跨域请求
  3. 图像的全局特征--用于目标检测
  4. AI:**消灭程序员需要一百年吗?
  5. OpenCV的Python接口
  6. 大数据在医疗保健中的真正愿景
  7. zabbix 监控 tomcat/jvm性能
  8. OpenSSL 与 SSL 数字证书概念贴
  9. Hdu 4916 Count on the path
  10. 零基础学习hadoop到上手工作线路指导(中级篇)