[LnOI2019]加特林轮盘赌
轮流开枪打一个环上的人 , 每次\(p\)的概率打死 , \(p\)始终相同 , 从第\(1\)个人开始 , 求第\(k\)个人成为唯一幸存者的概率
\(19.3.30\)
官方题解先递推出\(f[n]\) , \(f[1]\)用到\(f[n]\) , 套上一个\(n\)的循环 , 总共是\(O(n^2)\)的
设\(f1[i]\)表示\([1,k-1]\)在\(i\)轮以内全死的概率 , \(f2[i]\)表示\([k+1,n]\)在\(i\)轮以内全死的概率 ,
\(s[i]\)表示某一个人在\(i\)轮以内死掉的概率 , 易知\(s[i]=1-(1-p)^i\)
\(f1[i]=s[i]^{(k-1)}\)
\(f2[i]=s[i]^{(n-k)}\)
枚举第\(k\)个人第\(i\)轮死 , \(ans=\sum{f1[i]*f2[i-1]*(s[i]-s[i-1])}\)
\(10^4\)个人枚举\(10^6\)轮就差不多了 , \(f1\)和\(f2\)的预处理是\(O(nl_{og}n)\)的
\(19.4.4\)
首先可以容易地得出某一个人在\(i\)轮以内死掉的概率\(s[i]=1-(1-p)^i\) , 以及在第\(i\)轮死掉的概率\(s[i]-s[i-1]\)
也许就能推出连续一段人在\(i\)轮死掉的概率\(s[i]^{r-l+1}\)
考虑怎么枚举比较方便 : 枚举自己在第\(i\)轮死 ,
那么在此之前其他的都要死 , 即前面的要在\(i\)轮内死 , 后面的要在\(i-1\)轮内死
枚举自己的状态 , 考虑前面和后面要满足的条件 , 参考[JSOI2018]机器人
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+7;
int n,k;
double p,sp,ans,s[N],pw1[N],pw2[N];
double qpow(double a,int b)
{
double ret=1;
while(b)
{
if(b&1)ret*=a;
a*=a,b>>=1;
}
return ret;
}
int main()
{
cin>>p>>n>>k;
if(n==1){cout<<1;return 0;}
for(int i=1;i<=1e5;i++)s[i]=1-qpow(1-p,i);
for(int i=1;i<=1e5;i++)pw1[i]=qpow(s[i],k-1),pw2[i]=qpow(s[i],n-k);
for(int i=1;i<=1e5;i++)
if(k==n)ans+=pw1[i]*(s[i]-s[i-1]);
else if(k==1)ans+=pw2[i-1]*(s[i]-s[i-1]);
else ans+=pw1[i]*pw2[i-1]*(s[i]-s[i-1]);
printf("%0.9f",ans);
}
[LnOI2019]加特林轮盘赌的更多相关文章
- [LnOI2019]加特林轮盘赌(DP,概率期望)
[LnOI2019]加特林轮盘赌(DP,概率期望) 题目链接 题解: 首先特判掉\(p=0/1\)的情况... 先考虑如果\(k=1\)怎么做到\(n^2\)的时间复杂度 设\(f[i]\)表示有\( ...
- 洛谷 P5249 [LnOI2019]加特林轮盘赌 题解【概率期望】【DP】
很有意思的题目. 题目背景 加特林轮盘赌是一个养生游戏. 题目描述 与俄罗斯轮盘赌等手枪的赌博不同的是,加特林轮盘赌的赌具是加特林. 加特林轮盘赌的规则很简单:在加特林的部分弹夹中填充子弹.游戏的参加 ...
- 洛谷 P5249 - [LnOI2019]加特林轮盘赌(期望 dp+高斯消元)
题面传送门 期望真 nm 有意思,所以蒟蒻又来颓期望辣 先特判掉 \(P_0=0\) 的情况,下面假设 \(P_0\ne 0\). 首先注意到我们每次将加特林对准一个人,如果这个人被毙掉了,那么相当于 ...
- [JSOI2018]机器人
[Luogu4558] [LOJ2550] \(19.3.25\) JSOI2018简要题解 - FallDream 规律就是 对于\(n=m\)我们每一条左下到右上的对角线上的点的走法都是一样的且每 ...
- 洛谷[LnOI2019]长脖子鹿省选模拟赛 简要题解
传送门 听说比赛的时候T4T4T4标程锅了??? WTF换我时间我要写T3啊 于是在T4T4T4调半天无果的情况下260pts260pts260pts收场真的是tcltcltcl. T1 快速多项式变 ...
- [luogu#2019/03/10模拟赛][LnOI2019]长脖子鹿省选模拟赛赛后总结
t1-快速多项式变换(FPT) 题解 看到这个\(f(x)=a_0+a_1x+a_2x^2+a_3x^3+ \cdots + a_nx^n\)式子,我们会想到我们学习进制转换中学到的,那么我们就只需要 ...
- 【洛谷比赛】[LnOI2019]长脖子鹿省选模拟赛 T1 题解
今天是[LnOI2019]长脖子鹿省选模拟赛的时间,小编表示考的不怎么样,改了半天也只会改第一题,那也先呈上题解吧. T1:P5248 [LnOI2019SP]快速多项式变换(FPT) 一看这题就很手 ...
- LNOI2019划水记
十二省联考命题组温馨提醒您: 数据千万条,清空第一条. 多测不清空,爆零两行泪. NOIp2018差点退役的游记 $Flag$拔了. $LNOI2019$划水记: $Day0$: 早上八点起床,一直颓 ...
- 魂酥的LNOI2019滚粗记
$Day -???$ 高一下终于开始了 在开学文化课考试的水题之下混了个(成绩)前排 于是我便油然而生一种自信 我!要!进!省!队! 讲句真话我这么想的时候连自己都觉得自己是个十足的沙雕 我又不是zw ...
随机推荐
- 【转载】Maven+druid+MyBatis+Spring+Oracle+Dubbo开发环境搭建
原地址:http://blog.csdn.net/wp1603710463/article/details/48247817#t16 Maven+druid+MyBatis+spring+Oracle ...
- mybatis 配置延迟加载 和 缓存
<!-- MyBatis延迟加载时,创建代理类 --> <dependency> <groupId>cglib</groupId> <artifa ...
- List of HTTP header fields
https://en.wikipedia.org/wiki/List_of_HTTP_header_fields Content-Type The MIME type of the body of t ...
- emacs-ide配置
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CEDET Configuration ;;;;;;;;;; ...
- ARIA(Accessible Rich Internet Application)
ARIA 为Web app提供满足用户不同需求的解决方案.建设起用户和软件之间的桥梁. 新的HTML5标准中增加 aria-* 的标签属性,全称Accessible Rich Internet App ...
- [QPlugins]概述
一个需求:显示一个窗体,并显示"Hello,World".(这个例子不一定合适) 用DELPHI 实现上面的需求非常的简单,用向导创建一个项目,同时也创建好了一个窗体,再拖一个La ...
- 20145233《网络对抗》Exp8 Web基础
20145233<网络对抗>Exp8 Web基础 实验问题思考 什么是表单? 表单在网页中主要负责数据采集功能 一个表单有三个基本组成部分: 表单标签 表单域:包含了文本框.密码框.隐藏域 ...
- Linux Guard Service - 守护进程分裂
分裂守护进程 由于fork()后第一行仍然在循环中,使用fork()返回值鉴别当前进程的性质 int i = 0; for (i = 0; i < 10; i++) { // sleep(1); ...
- 为web文件夹添加IIS应用程序池用户权限
在文件夹或文件右键属性—>安全——>编辑——>添加——>输入IIS APPPOOL\应用程序池名,确定即可将IIS 7或7.5.8的应用程序池虚拟用户添加到权限控制里面,然后再 ...
- WinForm中DataGridView的使用(四) - 区分单双击事件
虽然DataGridView单双击事件都有,但双击事件其实也会触发单击事件的处理,所以如果双击事件和单击事件的行为不同,或者双击时不想触发单击事件,或者单击事件会阻塞双击事件的处理时(比如单击后会有弹 ...