CF1477F Nezzar and Chocolate Bars 题解
题意: 有一根长为 \(1\) 的巧克力,已经被切了 \(m-1\) 刀被分成 \(m\) 分,接下来每次在整根长度为 \(1\) 的巧克力上均匀随机一个点切一刀,求每一小段巧克力长度均小于一个给定值 \(K\) 需要的期望次数。
引理:Irwin-Hall 分布:对于 \(n\) 个在 \([0,1]\) 内均匀分布的实数随机变量,它们的和不超过一个实数 \(z\) 的概率为:
\]
首先令 \(f_L(n)\) 表示将长度为 \(L\) 的巧克力切 \(n\) 刀已经合法的概率。
f_L(n)&=n!\int\limits_{x_i\in[0,K],\sum_{i=1}^{n+1} x_i=L}\prod \mathrm{d}\frac{x_i}{L}\\
&=n!\int\limits_{x_i\in[0,K],\sum_{i=1}^{n} x_i\in[L-K,L]}\prod \mathrm{d}\frac{x_i}{L}\\
&=n!(\frac{K}{L})^n\int\limits_{x_i\in[0,1],\sum_{i=1}^{n} x_i\in[\frac{L-K}{K},\frac{L}{K}]}\prod \mathrm{d}x_i\\
&=n!(\frac{K}{L})^n(I_{n}(\frac{L}{K})-I_{n}(\frac{L}{K}-1))\\
&=n!w^n\Big(\sum\limits_{k=0}^{\lfloor \frac{1}{w}\rfloor} (-1)^k\binom{n}{k}\frac{(\frac{1}{w}-k)^n}{n!}-\sum\limits_{k=0}^{\lfloor \frac{1}{w}\rfloor-1} (-1)^k\binom{n}{k}\frac{(\frac{1}{w}-1-k)^n}{n!}\Big)\texttt{ (Let }w=\frac{K}{L}\texttt{)}\\
&=n!\Big(\sum\limits_{k=0}^{\lfloor \frac{1}{w}\rfloor} (-1)^k\binom{n}{k}\frac{(1-wk)^n}{n!}-\sum\limits_{k=0}^{\lfloor \frac{1}{w}\rfloor-1} (-1)^k\binom{n}{k}\frac{(1-w(k+1))^n}{n!}\Big)\\
&=\sum\limits_{k=1}^{{\lfloor \frac{1}{w}\rfloor}}(-1)^k(\binom{n}{k}+\binom{n}{k-1})(1-wk)^n\\
&=\sum\limits_{k=0}^{{\lfloor \frac{1}{w}\rfloor}}(-1)^k\binom{n+1}{k}(1-wk)^n\\
&=\sum\limits_{k=0}^{{\lfloor \frac{L}{K}\rfloor}}(-1)^k\binom{n+1}{k}(\frac{L-Kk}{L})^n\\
\end{aligned}
\]
卷起来,可以得到
设 \(f(n)\) 表示总共切 \(n\) 刀合法的概率,\(F(z)\) 为 \(f(n)\) 的 EGF;令 \(F_L(z)\) 为 \(f_L(n)\) 的 EGF,那么有 \(F(n)=\prod_{i=1}^m F_{L_i}(z)\),且
F_L(z)&=\sum\limits_{n\ge 0} \frac{1}{n!}\sum\limits_{k=0}^{{\lfloor \frac{L}{K}\rfloor}}(-1)^k\binom{n+1}{k}(\frac{L-Kk}{L}z)^n\\
&=\sum\limits_{k=0}^{{\lfloor \frac{L}{K}\rfloor}}(-1)^k\sum\limits_{n\ge 0} \frac{1}{n!}\binom{n+1}{k}(\frac{L-Kk}{L}z)^n\\
&=\sum\limits_{k=0}^{{\lfloor \frac{L}{K}\rfloor}}(-1)^k\sum\limits_{n\ge 0} \frac{n+1}{k!(n+1-k)!}(\frac{L-Kk}{L}z)^n\\
&=\sum\limits_{k=0}^{{\lfloor \frac{L}{K}\rfloor}}(-1)^k\sum\limits_{n\ge 0} \frac{k+(n+1-k)}{k!(n+1-k)!}(\frac{L-Kk}{L}z)^n\\
&=\sum\limits_{k=0}^{{\lfloor \frac{L}{K}\rfloor}}(-1)^k\sum\limits_{n\ge 0} (\frac{1}{(k-1)!(n+1-k)!}+\frac{1}{k!(n-k)!})y_k^n\texttt{ (Let }y_k=\frac{L-Kk}{L}z\texttt{)}\\
&=\sum\limits_{k=0}^{{\lfloor \frac{L}{K}\rfloor}}(-1)^k(\frac{y_k^{k-1}}{(k-1)!}+\frac{y_k^{k}}{k!})\mathrm{e}^{y_k} \\
&=\sum\limits_{k=0}^{{\lfloor \frac{L}{K}\rfloor}}(-1)^k(\frac{1}{(k-1)!}(\frac{L-Kk}{L})^{k-1}z^{k-1}+\frac{1}{k!}(\frac{L-Kk}{L})^kz^k)\mathrm{e}^{\frac{L-Kk}{L}z} \\
&=\mathrm{e}^z\sum\limits_{k=0}^{\lfloor \frac{L}{K}\rfloor}\sum\limits_{r=0}^{1} a_{k,r}z^{k-r}\mathrm{e}^{\frac{K}{L}kz}
\end{aligned}
\]
其中 \(a_{k,0}=(-1)^k\frac{1}{k!}(\frac{L-Kk}{L})^k,a_{k,1}=(-1)^{k-1}\frac{1}{(k-1)!}(\frac{L-Kk}{L})^{k-1}\)。
于是将所有 \(F_{L_i}(z)\) 卷起来,可以得到
F(z)&=\sum\limits_{k=0}^{\frac{L}{K}}\sum\limits_{r=0}^{n}a_{k,r}z^{k-r}\mathrm{e}^{(n+\frac{K}{L}k)z}\\
&=\sum\limits_{k}\sum\limits_{r}a_{k,r}z^{k-r}\sum\limits_{t\ge 0}\frac{(n+\frac{K}{L}k)^t}{t!}z^t\\
&=\sum\limits_{k}\sum\limits_{r}a_{k,r}\sum\limits_{t\ge 0}\frac{(n+\frac{K}{L}k)^t}{t!}z^{t+k-r}\\
\end{aligned}
\]
注意 \(F(z)\) 是 \(f(z)\) 的 EGF,我们想求的是 OGF,所以令
\]
则答案为
F^*(1)&=\sum\limits_{k}\sum\limits_{r}a_{k,r}\sum\limits_{t\ge 0}\frac{(n+\frac{K}{L}k)^t}{t!}(t+k-r)!\\
&=\sum\limits_{k}\sum\limits_{r}a_{k,r}(k-r)!\sum\limits_{t\ge 0}\binom{t+k-r}{t}(n+\frac{K}{L}k)^t\\
&=\sum\limits_{k}\sum\limits_{r}\frac{a_{k,r}(k-r)!}{(1-n-\frac{K}{L}k)^{k-r+1}}
\end{aligned}
\]
即为所求。
CF1477F Nezzar and Chocolate Bars 题解的更多相关文章
- e-olymp Problem4196 Chocolate bars
吐槽一下,这个OJ的题目真的是阅读理解题.代码非常短,就是题目难理解.心累. 传送门:点我 Chocolate bars It is hard to overestimate the role of ...
- 洛谷 P2983 [USACO10FEB]购买巧克力Chocolate Buying 题解
P2983 [USACO10FEB]购买巧克力Chocolate Buying 题目描述 Bessie and the herd love chocolate so Farmer John is bu ...
- Codeforces Round #669 (Div. 2) C. Chocolate Bunny 题解(交互)
题目链接 题目大意 有一个长度为n的全排列,你可以询问2n次,要你经过这个2n次的询问后,求出这个全排列 询问定义为:输入"? i j"输出\(p_{i} mod p_{j}\) ...
- Codeforces #698 (Div. 2) E. Nezzar and Binary String 题解
中文题意: 给你两个长度为 \(n\) 的01串 \(s,f,\)有 \(q\) 次询问. 每次询问有区间 \([\ l,r\ ]\) ,如果 \([\ l,r\ ]\) 同时包含\(0\)和\(1\ ...
- Codeforces Beta Round #6 (Div. 2 Only) C. Alice, Bob and Chocolate 水题
C. Alice, Bob and Chocolate 题目连接: http://codeforces.com/contest/6/problem/C Description Alice and Bo ...
- CF 1132A,1132B,1132C,1132D,1132E,1132F(Round 61 A,B,C,D,E,F)题解
A.Regular bracket sequence A string is called bracket sequence if it does not contain any characters ...
- CF 633 F. The Chocolate Spree 树形dp
题目链接 CF 633 F. The Chocolate Spree 题解 维护子数答案 子数直径 子数最远点 单子数最长直径 (最长的 最远点+一条链) 讨论转移 代码 #include<ve ...
- 【cf490】D. Chocolate(素数定理)
http://codeforces.com/contest/490/problem/D 好神的一题,不会做.. 其实就是将所有的质因子找出来,满足: 最终的所有质因子的乘积相等 但是我们只能操作质因子 ...
- C - Alice, Bob and Chocolate(贪心)
Problem description Alice and Bob like games. And now they are ready to start a new game. They have ...
- codeforces 490 D Chocolate
题意:给出a1*b1和a2*b2两块巧克力,每次可以将这四个数中的随意一个数乘以1/2或者2/3,前提是要可以被2或者3整除,要求最小的次数让a1*b1=a2*b2,并求出这四个数最后的大小. 做法: ...
随机推荐
- 记录一次MySQL主从同步
主库配置 server-id=1log-bin=mysql-binbinlog_format=ROWbinlog_row_image=minimalbinlog-do-db=yjtb-cloud 解释 ...
- Unity 2D Sprite 俯视角渲染顺序设置
今天结合网上的一个教程复习了一下Unity中2D俯视角游戏的渲染顺序设置. 首先是在Hierachy中的摆放顺序,靠下的物体渲染顺序靠后: 然后是Sprite Renderer组件,可以通过组件中的S ...
- 2021SWPUCTF-WEB(三)
error 双引号没有提示的注入,,那就是报错注入了,肯定是个恶心的东西呜呜呜 ?id=1' and updatexml(1,concat(0x7e,(select right(flag,30) ...
- jquery input标签的禁用和启用disabled
input框使用disabled后 input 元素既不可用,也不可点击.可以设置 disabled 属性,直到满足某些其他的条件为止(比如选择了一个复选框等等).然后,就需要通过 JavaScrip ...
- delphi中判断IP地址输入的合法性
function GetSubStrCount(sSubStr, sParentStr: string): integer; begin Result := 0; while Pos(UpperCas ...
- uglifyjs-webpack-plugin配置
项目使用vuecli3搭建,在vue.config.js文件中进行配置,主要配置了去除线上环境的打印信息. 首先安装插件, 执行命令 npm install uglifyjs-webpack-plug ...
- adb shell monkey
monkey 在模拟器或真机里在,.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),打开app 查看包名 adb shell dumpsys window windows | f ...
- reduce处理相同id合并对象内容为数组
例: let arr = [ { situationId: '666666666666666666666', cloundClass: '999', } ...
- echart 解决setOption线残留
前言: Antd + echarts 我想要实现的是点击表的某一行自动生成对应的折线图,我在点击第一行生成5条线,我在点击第二行的时候,本该生成2条线,结果还是5条线: 最开始我以为设置的 serie ...
- pyinstall打包工具使用简介
使用pyinstall进行多个文件打包,直接打包主入口文件即可 pyinstaller MainUI.py -F -n ServerMonitorv200 -i PIC.ico -w 此处MainUI ...