题意: 有一根长为 \(1\) 的巧克力,已经被切了 \(m-1\) 刀被分成 \(m\) 分,接下来每次在整根长度为 \(1\) 的巧克力上均匀随机一个点切一刀,求每一小段巧克力长度均小于一个给定值 \(K\) 需要的期望次数。

引理:Irwin-Hall 分布:对于 \(n\) 个在 \([0,1]\) 内均匀分布的实数随机变量,它们的和不超过一个实数 \(z\) 的概率为:

\[I_n(z)=\sum\limits_{k=0}^{\lfloor z\rfloor} (-1)^k\binom{n}{k}\frac{(z-k)^n}{n!}
\]

首先令 \(f_L(n)\) 表示将长度为 \(L\) 的巧克力切 \(n\) 刀已经合法的概率。

\[\begin{aligned}
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)\),且

\[\begin{aligned}
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)\) 卷起来,可以得到

\[\begin{aligned}
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^*(z)=\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)!z^{t+k-r}
\]

则答案为

\[\begin{aligned}
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 题解的更多相关文章

  1. e-olymp Problem4196 Chocolate bars

    吐槽一下,这个OJ的题目真的是阅读理解题.代码非常短,就是题目难理解.心累. 传送门:点我 Chocolate bars It is hard to overestimate the role of ...

  2. 洛谷 P2983 [USACO10FEB]购买巧克力Chocolate Buying 题解

    P2983 [USACO10FEB]购买巧克力Chocolate Buying 题目描述 Bessie and the herd love chocolate so Farmer John is bu ...

  3. Codeforces Round #669 (Div. 2) C. Chocolate Bunny 题解(交互)

    题目链接 题目大意 有一个长度为n的全排列,你可以询问2n次,要你经过这个2n次的询问后,求出这个全排列 询问定义为:输入"? i j"输出\(p_{i} mod p_{j}\) ...

  4. Codeforces #698 (Div. 2) E. Nezzar and Binary String 题解

    中文题意: 给你两个长度为 \(n\) 的01串 \(s,f,\)有 \(q\) 次询问. 每次询问有区间 \([\ l,r\ ]\) ,如果 \([\ l,r\ ]\) 同时包含\(0\)和\(1\ ...

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

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

  7. CF 633 F. The Chocolate Spree 树形dp

    题目链接 CF 633 F. The Chocolate Spree 题解 维护子数答案 子数直径 子数最远点 单子数最长直径 (最长的 最远点+一条链) 讨论转移 代码 #include<ve ...

  8. 【cf490】D. Chocolate(素数定理)

    http://codeforces.com/contest/490/problem/D 好神的一题,不会做.. 其实就是将所有的质因子找出来,满足: 最终的所有质因子的乘积相等 但是我们只能操作质因子 ...

  9. C - Alice, Bob and Chocolate(贪心)

    Problem description Alice and Bob like games. And now they are ready to start a new game. They have ...

  10. codeforces 490 D Chocolate

    题意:给出a1*b1和a2*b2两块巧克力,每次可以将这四个数中的随意一个数乘以1/2或者2/3,前提是要可以被2或者3整除,要求最小的次数让a1*b1=a2*b2,并求出这四个数最后的大小. 做法: ...

随机推荐

  1. 记录一次MySQL主从同步

    主库配置 server-id=1log-bin=mysql-binbinlog_format=ROWbinlog_row_image=minimalbinlog-do-db=yjtb-cloud 解释 ...

  2. Unity 2D Sprite 俯视角渲染顺序设置

    今天结合网上的一个教程复习了一下Unity中2D俯视角游戏的渲染顺序设置. 首先是在Hierachy中的摆放顺序,靠下的物体渲染顺序靠后: 然后是Sprite Renderer组件,可以通过组件中的S ...

  3. 2021SWPUCTF-WEB(三)

    error ​ 双引号没有提示的注入,,那就是报错注入了,肯定是个恶心的东西呜呜呜 ?id=1' and updatexml(1,concat(0x7e,(select right(flag,30) ...

  4. jquery input标签的禁用和启用disabled

    input框使用disabled后 input 元素既不可用,也不可点击.可以设置 disabled 属性,直到满足某些其他的条件为止(比如选择了一个复选框等等).然后,就需要通过 JavaScrip ...

  5. delphi中判断IP地址输入的合法性

    function GetSubStrCount(sSubStr, sParentStr: string): integer; begin Result := 0; while Pos(UpperCas ...

  6. uglifyjs-webpack-plugin配置

    项目使用vuecli3搭建,在vue.config.js文件中进行配置,主要配置了去除线上环境的打印信息. 首先安装插件, 执行命令 npm install uglifyjs-webpack-plug ...

  7. adb shell monkey

    monkey 在模拟器或真机里在,.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),打开app 查看包名 adb shell dumpsys window windows | f ...

  8. reduce处理相同id合并对象内容为数组

    例: let arr = [     {         situationId: '666666666666666666666',         cloundClass: '999',     } ...

  9. echart 解决setOption线残留

    前言: Antd + echarts 我想要实现的是点击表的某一行自动生成对应的折线图,我在点击第一行生成5条线,我在点击第二行的时候,本该生成2条线,结果还是5条线: 最开始我以为设置的 serie ...

  10. pyinstall打包工具使用简介

    使用pyinstall进行多个文件打包,直接打包主入口文件即可 pyinstaller MainUI.py -F -n ServerMonitorv200 -i PIC.ico -w 此处MainUI ...