规定 Ξ:EGF→OGF。
考虑令填满后的格子还能继续填,显然答案不变。
那么每步选每个元素的概率均为 1n。
我们考虑钦定第一个格子被填满,再枚举最后一步的格子,计算概率,容易发现即为
(Ξ(n−1)zb−1/nb(b−1)!(∑i≥a(z/n)ii!)(∑i≥b(z/n)ii!)n−2)(1)
设 t=z/n,u=expt,那么即为
(Ξz(n−1)tb−1/n(b−1)!(u−∑i<atii!)(u−∑i<btii!)n−2)z(1)
从而枚举每个被填满的格子,答案即为
(Ξz(n−1)tb−1(b−1)!(u−∑i<atii!)(u−∑i<btii!)n−2)z(1)
容易知道
Ξzuitj=j!(z/n)j(1−iz/n)j+1
所以我们只用考虑如何快速计算
tb−1(b−1)!(u−∑i<atii!)(u−∑i<btii!)n−2
我们不妨设要计算
f(u,t)=(u−∑i<mtii!)n
则
∂f∂u=n(u−∑i<mtii!)n−1
∂f∂t=n(−∑i<m−1tii!)(u−∑i<mtii!)n−1
从而
nf=∂f∂t+(u−tm−1(m−1)!)∂f∂u
也即
nfi,j=(j+1)fi,j+1+ifi,j−[m−1≤j]i+1(m−1)!fi+1,j−m+1
从而 j>0 时,我们有
fi,j=(n−i)fi,j−1+[j≥m](i+1)fi+1,j−m/(m−1)!j
而 j=0 时显然有
fi,0=(−1)n−i(ni)
然后我们考虑计算
g=(∑i<atii!)(u−∑i<mtii!)n
此时有
∂g∂u=n(∑i<atii!)(u−∑i<mtii!)n−1
∂g∂t=n(∑i<atii!)(−∑i<m−1tii!)(u−∑i<mtii!)n−1+g−ta−1(a−1)!f
(u−tm−1(m−1)!)∂g∂u+(∂g∂t−g+ta−1(a−1)!f)=ng
∂g∂t=(n+1)g−(u−tm−1(m−1)!)∂g∂u−ta−1(a−1)!f
gi,j=(n−i+1)gi,j−1+[j≥m](i+1)gi+1,j−m/(m−1)!−[j≥a]fi,j−a/(a−1)!j
而 j=0 时 gi,j=fi,j。
这样直接做就好了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫