【FZYZOJ】「Paladin」瀑布 题解(期望+递推)
题目描述
CX在Minecraft里建造了一个刷怪塔来杀僵尸。刷怪塔的是一个极高极高的空中浮塔,边缘是瀑布。如果僵尸被冲入瀑布中,就会掉下浮塔摔死。浮塔每天只能工作 $t$秒,刷怪笼只能生成 $N$ 只僵尸,这些僵尸在一开始就全部生成,位于瀑布上。由于CX是拿着手机搭的浮塔,难免有些建筑方面的缺陷,导致不是所有僵尸都会被冲下去。详细地说,在这 $t$秒内,每秒冲下一只僵尸(如果有的话)的概率为 $P$ ,这只僵尸一秒内没有被冲下的概率为$1-P$。
CX想知道他一天内杀死的僵尸的期望数量。
输入格式
输入共一行,三个数N、P、t如题意。
输出格式
输出数学期望,并四舍五入保留七位小数。
--------------------------------------------------
设$f[i][j]$表示$i$秒冲下$j$只僵尸的概率。得到递推式:
$f[i][j]=p*f[i-1][j-1]+(1-p)*f[i-1][j]$
特别地,有:
$f[i][n]=f[i-1][n]+p*f[i-1][n-1]$
注意边界:$f[0][0]=1,f[i][0]=(1-p)*f[i-1][0],f[0][i]=0$。
$ans=\sum\limits_{i=1}^n f[t][i]*i$
代码:
#include<bits/stdc++.h>
using namespace std;
double ans,f[][],p,q;
int n,t;
int main()
{
scanf("%d%lf%d",&n,&p,&t);
q=-p;
f[][]=;
for (int i=;i<=n;i++) f[][i]=;
for (int i=;i<=t;i++) f[i][]=q*f[i-][];
for (int i=;i<=t;i++)
for (int j=;j<=n-;j++)
f[i][j]=p*f[i-][j-]+q*f[i-][j];
for (int i=;i<=t;i++) f[i][n]=f[i-][n]+p*f[i-][n-];
for (int i=;i<=n;i++) ans+=f[t][i]*i;
printf("%.7lf",ans);
return ;
}
【FZYZOJ】「Paladin」瀑布 题解(期望+递推)的更多相关文章
- 「SDOI2016」征途 题解
「SDOI2016」征途 先浅浅复制一个方差 显然dp,可以搞一个 \(dp[i][j]\)为前i段路程j天到达的最小方差 开始暴力转移 \(dp[i][j]=min(dp[k][j-1]+?)(j- ...
- 「APIO2010」巡逻 题解
来源 LCA 个人评价:lca求路径,让我发现了自己不会算树的直径(但是本人似乎没有用lca求) 1 题面 「APIO2010」巡逻 大意:有一个有n个节点的树,每条边权为1,一每天要从1号点开始,遍 ...
- ZOJ3329(数学推导+期望递推)
要点: 1.期望的套路,要求n以上的期望,则设dp[i]为i分距离终点的期望步数,则终点dp值为0,答案是dp[0]. 2.此题主要在于数学推导,一方面是要写出dp[i] = 什么,虽然一大串但是思维 ...
- luogu 1291 概率期望递推
非常好的递推 公式啥的懒得写了,直接放链接哈哈哈https://www.luogu.org/problemnew/solution/P1291 #include<bits/stdc++.h> ...
- 【CSP2019】括号树 题解(递推+链表)
前言:抽时间做了做这道题,把学长送退役的题. ----------------- 题目链接 题目大意:定义$()$是合法括号串.如果$A,B$是合法括号串,那么$(AB),AB$为合法括号串.现给定根 ...
- 【HNOI2011】数学作业 题解(递推+矩阵快速幂)
题目链接 题目大意:求$1-n$所拼接起来的数$mod\ m$的值. ----------------------------------- 递推式子很好想:$f_i=f_{i-1}*10^{\lg ...
- loj#6040. 「雅礼集训 2017 Day5」矩阵(线性代数+递推)
题面 传送门 题解 我的线代学得跟屎一样看题解跟看天书一样所以不要指望这题我会写题解 这里 //minamoto #include<bits/stdc++.h> #define R reg ...
- LuoguP7713 「EZEC-10」打分 题解
Content 某个人去参加比赛,\(n\) 个评委分别给他打分 \(a_1,a_2,\dots,a_n\).这个人可以最多执行 \(m\) 次操作,每次操作将一个评委的分数加 \(1\).定义他的最 ...
- LuoguP7715 「EZEC-10」Shape 题解
Content 有一个 \(n\times m\) 的网格,网格上的格子被涂成了白色或者黑色. 设两个点 \((x_1,y_1)\) 和 \((x_2,y_2)\),如果以下三个条件均满足: \(1\ ...
随机推荐
- WPF 2D纹理的准确映射
TextureCoordinates定义了如何将一副2D纹理映射到所建立的3D网格上,TextureCoordinates为Positions集合中的每一个3D顶点提供了一个2D顶点. 映射时方向确定 ...
- 【题解】p1809 过河问题
原题传送门 题目分析 现有n个人在东岸,要过河去西岸.开始东岸有一艘船,船最多可承载2人,过河时间以耗时最长的人所需时间为准. 给定n个人的过河时间a,求所有人从东岸到西岸所需的最短时间. 当\(n= ...
- C++求树子节点权重最大的和
#include <iostream> #include <vector> using namespace std; int n; const int MaxN = 1e5; ...
- BERT模型图解
转载于 腾讯Bugly 发表于 腾讯Bugly的专栏 原文链接:https://cloud.tencent.com/developer/article/1389555 本文首先介绍BERT模型要做什么 ...
- 装机预备技能,Linux系统简介,安装Linux系统,Linux基本操作-云计算学习(2)
装机预备技能 问题 要求安装一台可用的KVM服务器: RHEL与CentOS系统有什么关联? Linux系统中第三块SCSI硬盘如何表示? 步骤 实现此案例需要按照如下步骤进行. 步骤一:RHEL系统 ...
- scrapy 源码解析 (三):启动流程源码分析(三) ExecutionEngine执行引擎
ExecutionEngine执行引擎 上一篇分析了CrawlerProcess和Crawler对象的建立过程,在最终调用CrawlerProcess.start()之前,会首先建立Execution ...
- Appium+Python3环境搭建,其实超简单!【软件测试教程】
appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.略懂Python,所以接下来的教程是appium+python, ...
- maven&nexus_repository 私库搭建与使用
一.nexus仓库安装 1,http://www.sonatype.org/nexus/ 下载sso版本,免费2,tar -zxvf nexus-2.11.1-01-bundle.tar.gz3 ...
- C++语法小记---如何判断一个变量是不是指针
如何判断一个变量是不是指针? 思路:模板函数 + 可变参数 + sizeof(函数) #include <iostream> #include <string> using n ...
- ThinkPHP5.0、5.1和6.0教程文档合集(免费下载)
我们都知道ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP开发框架. ThinkPHP6主要更新了什么呢? 1. 支持PHP最新的强类型 2. PSR开发规范得了更广泛的应用 3. ...