CSP模拟50联测12 T2 赌神

CSP模拟50联测12 T2 赌神

题面与数据规模

Ps:超链接为衡水中学OJ。

思路

subtask2

由于xi较小,考虑 dp。

假设一开始球的颜色为红和蓝,设 dp[i][j] 为剩 i 个红球,j 个蓝球时可获得的最大筹码数。

如果不同球掉落所获得的筹码不同,那么肯定会掉落最少筹码的那一堆球。所以保证各堆获得筹码相同时最优。

设蓝球堆放x个筹码,红球堆放y个筹码,则有:

dp[i][j]=2xdp[i1][j]=2ydp[i][j1]  (n=2)

易得每次把筹码投完比不投优。可得:

y=1xxdp[i1][j]=(1x)dp[i][j1]

x 得:x=dp[i][j1]dp[i1][j]+dp[i][j1]

所以

dp[i][j]=2xdp[i1][j]=2dp[i][j1]dp[i1][j]dp[i][j1]+dp[i1][j]

subtask3

任然考虑 n=2 的情况,设 f[i][j]=dp[i][j]2i+j

dp[i][j] 通过 subtask2 中的方程化简,得:

f[i][j]=f[i1][j]f[i][j1]f[i][j1]+f[i1][j]

同时取倒数,并裂项得:

1f[i][j]=f[i][j1]+f[i1][j]f[i1][j]f[i][j1]=1f[i][j1]+1f[i1][j]

不难发现 f[i][j] 为在二维平面内由 (0,0) 走向 i,j 的方案数,所以 f[i][j]=(i+ji)

subtask4

其实 n>2 时也有上述性质,那么 f(x1,x2,,xn)n 维平面内从 (0,0,0,,0) 走到 (x1,x2,,xn) 的方案数。

那么f(x1,x2,,xn)=(i=1nxixn)(i=1n1xixn1)(x1x1)

展开,得:

f(x1,x2,,xn)=i=1nxixn!i=1n1xii=1n1xixn1!i=1n2xi1

发现每一项的分子与后一项的分母都存在共同部分,再次化简,得:

f(x1,x2,,xn)=(i=1nxi)!i=1nxi!

于是答案为 nx1+x2++xnf(x1,x2,,xn)

posted @   彬彬冰激凌  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示