link。
以下记 (L = sum l_i)。
记 (p_{i,j}) 表示第 (i) 块巧克力切 (j) 刀,使得每段长度 (< k) 的概率。
记 (P_i(z) = sumfrac{p_{i,j}}{j!}(frac{l_i}{L}z)^j)。
记 (Q(z) = e^z -prod P_i(z) = sumfrac{q_k}{k!}z^k),表示第 (k) 步仍未结束的概率为 (q_k)。
则可以得到 (E = sum[z^i]Q(z) imes i!)。
考虑给定单个巧克力原长为 (l),求切 (m) 刀,使得每段长度 (< k) 的概率 (p_m)。
换元:原长为 (w = frac{l}{k}),每段长度 (< 1)。
即随机生成 ((X_1, X_2, dots, X_m)) 满足 (0 < X_i < frac{l}{k}),求加入 (X_0 = 0, X_{m+1} = frac{l}{k}) 并排序后 (X'_{i+1} - X'_i < w) 的概率 (p_m)。
考虑直接随机生成差分变量 (Y_1,Y_2,dots Y_m),则需满足要求 (0 < Y_i < 1, w - 1 < sum Y_i < w)。
注意此时生成 (Y_i) 时要求 (Y_i > 0,sum Y_i < w),积分可得 (frac{w^m}{m!})。
考虑计算如下的积分:
几何意义即 (m) 维下的超立方体((Y_iin(0, 1)))与超棱锥((Y_i>0,sum Y_i<x))的交。
可以证明 (F(x) = sum_{t=0}^{lfloor x floor}(-1)^kinom{n}{t} imes frac{(x-t)^m}{m!})。
证明思路可以考虑容斥,枚举有 (t) 个 (Y > 1)。
这个分布在 tutorial 中被称为 "Irwin–Hall distribution"(连百度都百度不到的东西
那只能说明百度是屑)。
由上,我们已经可以计算概率 (p_m)(下记 (u = lfloor w floor)):
通过变换可得 (p_m = sum_{t=0}^{u}(-1)^tinom{m+1}{t}(1-frac{t}{w})^m),但这个形式只是更简洁,其实并不影响我们下面的代入。
后面的推导就比较 trivial 了,稍微写简略一点吧。 对不起,我一开始推错了。后面的某些推导还是有些 tricky 的。
记 (w_i = frac{l_i}{k}, u_i = lfloor w_i floor),直接代入 (p_{i,j}):
接下来算 (F_i)((G_i) 同理),注意 ((1-frac{t}{w_i}) imesfrac{l_i}{L} = frac{l_i-tk}{L})。
稍后会看到,提出因子 (exp(frac{l_i}{L}z)) 这一步将会简化我们的状态定义。
在提出因子 (exp(frac{l_i}{L}z)) 后,(F_i(z)) 剩余部分可以表示成 (f_tz^texp^t(-frac{k}{L}z));同理 (G_i(z)) 剩余部分可以表示成 (g_tz^texp^{t+1}(-frac{k}{L}z))。
因此 (Q(z)) 可以表示成 (exp(z) imes(1 - sum a_{i,j}z^iexp^{i+j}(-frac{k}{L}z))),其中 (ileq L, j leq n)。
之后只需要考虑计算 (sum[z^t]z^i imesexp(Az) imes t!),即 (sum_{tgeq 0}(t+i)^{underline{i}}A^t=frac{i!}{(1 - A)^{i+1}})。
可以错位相减得到结果,也可以考虑变形成 (i!suminom{t+i}{i}A^t)。
时间瓶颈卡在求 (Q(z)) 的系数,暴力复杂度 (O(nL^2))(虽然看似是 (O(n^2L^2))),但是出题人很仁慈,所以可以通过。
直接 fft 可做到 (O(n^2Llog(L))),分治 fft 可做到 (O(nLlog(nL)))。
小疑惑:
虽然说连续函数考虑端点取值没有意义。
但是考虑如果仅有一根长度为 (k) 的巧克力棒,要求长度 (< k) 和要求长度 (leq k) 的答案不一样。
嗯,想不透彻。
连续概率好难!!!好难!!!好难啊!!!
代码实现大概之后会补上,由于现在没有实现所以不保证内容的正确性。
边写代码边修锅过后的结果:https://codeforces.com/contest/1477/submission/106333507 (force)。