传送门


概率论神仙题……

首先一个暴力做法是设\(f_{i,j}\)表示前\(i\)个骰子摇出点数和为\(j\)的概率,不难发现DP的过程是一个多项式快速幂,FFT优化可以做到\(O(XYlog(XY))\)

但是能够跑过\(4 \times 10^6\)的FFT应该很少见,所以我们对于\(Y\)比较大的部分需要另外考虑做法。

首先一个前置是概率密度函数:对于一个连续型随机变量\(p\),\(f(x)\)是\(p\)的概率密度函数当且仅当对于\(\forall l<r\),\(\int_l^r f(x)\)等于\(p\)随机到区间\([l,r]\)内的概率

还有一个前置是正态分布:对于一个连续型随机变量\(p\),如果它服从正态分布,且已知\(p\)的期望为\(\mu\),方差为\(\sigma^2\),那么\(p\)的概率密度函数为\(\frac{1}{\sqrt{2 \pi \sigma^2}}e^\frac{-(x - \mu)^2}{2}\)。下文中我们称变量\(p\)服从期望为\(\mu\)、方差为\(\sigma^2\)的正态分布为变量\(p\)服从\(N[\mu , \sigma^2]\)。

那么如果我们知道某一个变量服从正态分布,就可以直接得知它的概率密度函数,然后需要求落在一段区间内的概率就只需要Simpson积分一下就可以了。

但是似乎我们没法判断一个变量是否服从正态分布,所以还有一个最重要的定理:中心极限定理。定理本身比较复杂,我们只需要用到这个定理的一个小的推论,如下:

对于同分布、值独立的若干个变量\(x_1,x_2,...,x_n\),设其中任一变量取到的值的期望为\(\mu\),方差为\(\sigma^2\),那么当\(n\)足够大时,设\(P = \frac{\sum\limits_{i=1}^n x_i - n\mu}{\sqrt{n\sigma^2}}\),那么变量\(P\)服从\(N[0,1]\)。

也就是说当题目给出的\(Y\)足够大的时候,我们可以直接套用中心极限定理。当\(\sum\limits_{i=1}^n x_i \in [A,B]\),\(P \in [\frac{A - n\mu}{\sqrt{n\sigma^2}} , \frac{B - n\mu}{\sqrt{n\sigma^2}}]\),而一个随机变量的期望和方差已经在题目中给出了,我们可以直接把变量取值范围求出来然后对着概率密度函数Simpson积分就可以了。

所以我才不会说我写这道题纯属为了练Simpson积分

代码

LOJ2267 SDOI2017 龙与地下城 FFT、概率密度函数、Simpson的更多相关文章

  1. BZOJ.4909.[SDOI2017]龙与地下城(正态分布 中心极限定理 FFT Simpson积分)

    BZOJ 洛谷 https://www.luogu.org/blog/ShadowassIIXVIIIIV/solution-p3779# 正态分布 正态分布是随机变量\(X\)的一种概率分布形式.它 ...

  2. 洛谷P3779 [SDOI2017]龙与地下城(概率论+Simpson+FFT)

    题面 传送门 题解 orz shadowice 正态分布 正态分布是随机变量\(X\)的一种概率分布形式.它用一个期望\(\mu\)和方差\(\sigma^2\)就可以描述,记为\(N(\mu,\si ...

  3. bzoj 4909 [Sdoi2017]龙与地下城

    题面 https://www.lydsy.com/JudgeOnline/problem.php?id=4909 题解 目前为止仅仅在LOJ上A掉这道题(Loj真快!) 当然不是标准做法 显然我们只要 ...

  4. rvs产生服从指定分布的随机数 pdf概率密度函数 cdf累计分布函数 ppf 分位点函数

    统计工作中几个常用用法在python统计函数库scipy.stats的使用范例. 正态分布以正态分布的常见需求为例了解scipy.stats的基本使用方法. 1.生成服从指定分布的随机数 norm.r ...

  5. 高斯分布(Gaussian Distribution)的概率密度函数(probability density function)

    高斯分布(Gaussian Distribution)的概率密度函数(probability density function) 对应于numpy中: numpy.random.normal(loc= ...

  6. 函数的光滑化或正则化 卷积 应用 两个统计独立变量X与Y的和的概率密度函数是X与Y的概率密度函数的卷积

    http://graphics.stanford.edu/courses/cs178/applets/convolution.html Convolution is an operation on t ...

  7. Kattis - heapsoffun Heaps of Fun (概率密度函数+dp)

    题意:有一棵含有n个结点(n<=300)的根树,树上每个结点上的权值是从[0,ai](ai<=1e9)区间内随机的一个实数,问这棵树能形成一个最小堆的概率. 由于结点取值范围是1e9而且是 ...

  8. 使用Excel绘制F分布概率密度函数图表

    使用Excel绘制F分布概率密度函数图表 利用Excel绘制t分布的概率密度函数的相同方式,可以绘制F分布的概率密度函数图表. F分布的概率密度函数如下图所示: 其中:μ为分子自由度,ν为分母自由度 ...

  9. PDF的来源——概率密度函数

    //首发于简书,详见原文:https://www.jianshu.com/p/6493edd20d61 你不会还真的以为这是一篇讲怎么做pdf文件,怎么编辑.保存.美化的文章吧? 咳咳,很遗憾告诉你不 ...

随机推荐

  1. rust学习(二)

    play on line match if #![allow(unused)] fn write_bar(size: u64){ match size{ o => println!(" ...

  2. 鱼塘钓鱼(fishing)(信息学奥赛一本通 1373)

    [问题描述] 有N个鱼塘排成一排(N<100),每个鱼塘中有一定数量的鱼,例如:N=5时,如下表: 即:在第1个鱼塘中钓鱼第1分钟内可钓到10条鱼,第2分钟内只能钓到8条鱼,……,第5分钟以后再 ...

  3. Confd+Consul 动态生成配置文件

    一.Consul安装和配置 1.consul是什么? consul是HashiCorp公司推出的一款工具,主要用于实现分布式系统的服务发现与配置,它提供了以下几个关键特性: 服务发现:Consul客户 ...

  4. Java 面向对象(九)

    常用类之Random Random类位于 java.util 包中,主要用于生成伪随机数 Random类将种子数作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关 创建Random ...

  5. PyTorch 实战:计算 Wasserstein 距离

    PyTorch 实战:计算 Wasserstein 距离 2019-09-23 18:42:56 This blog is copied from: https://mp.weixin.qq.com/ ...

  6. Python17个常用内置模块总结

    Python17个常用内置模块总结 1.getpass 2.os 3.sys 4.subprocess 5.hashlib 6.json 7.pickle 8.shutil 9.time 10.dat ...

  7. EF6中的SQL监控

    在MVC或WEBAPI中的监控 System.Action<string> action = (string message) => { Debug.WriteLine(messag ...

  8. Sword libcurl库CURLE_COULDNT_CONNECT错误

    CURL: CURLE_COULDNT_CONNECT问题分析 测试环境描述在使用libcurl写http客户端进行压力测试的时候会遇到curl_easy_perform()返回CURLE_COULD ...

  9. matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象

    一起来学matlab-matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matl ...

  10. EasyRTMP推送扩展支持HEVC(H265) RTMP推送之Metadata结构填写详解

    我们在<EasyNVR摄像机网页直播中,推流组件EasyRTMP推送RTMP扩展支持HEVC(H.265)的方案>中描述了关于EasyRTMP进行RTMP HEVC(H.265)推流的概括 ...