尧图网络科技 Logo 尧图网络科技
  • 首页
  • 关于我们
  • 建站服务
  • UI 设计
  • 案例展示
  • SEO 优化
  • 资讯中心
  • 联系我们

资讯详情

深度解读 · 专业分析

  • 首页
  • 资讯中心
  • /
  • HDU1204糖果大战 题解

最新资讯

  • 全部资讯
  • 行业动态
  • UI 设计
  • SEO 优化
  • 网站开发

HDU1204糖果大战 题解

📅 发布时间:2026/6/21 0:27:19 👁 浏览次数:
HDU1204糖果大战 题解

HDU1204糖果大战 题解

HDU1204 的题解。

这篇题解写的很不错,但是一些小细节我还是太看不懂了,所以补充一下。
【首先得注意到是胜者从败者中拿走一颗糖。】
首先 simple 地设 \(f_i\) 表示当 S 有 \(i\) 颗糖的时候获胜的概率。那么边界条件显然:\(f_0=0,f_{n+m}=1\)。


由题意得到,一局游戏中,S 赢的概率为 \(p(1-q)\),G 赢的概率为 \(q(1-p)\),平局的概率为 \(1-p(1-q)-q(1-p)\)。

此时我突发奇想:平局的概率会不会是个负数?
于是开始证明 \(1-p(1-q)-q(1-p) \ge 0(0 \le p,q \le 1)\)。
\(1-p(1-q)-q(1-p)=1-(p+q)+2pq=1-(p+q-2pq)\)
\(\because p+q \ge 2\sqrt{pq} \therefore p+q-2pq \ge 2\sqrt{pq}-2pq=2\sqrt{pq}(1-\sqrt{pq})\)
当且仅当 \(p=q\)。
此时 \(p+q-2pq =2\sqrt{pq}(1-\sqrt{pq})=2p(1-p)\),当 \(p=0/1\) 时取 \(\min=0\),当 \(p=0.5\) 时取 \(\max=0.5\)。
$\therefore 1- \dots $ 的 \(\min=0.5,\max=1\)。
OK 证毕。


返回正题,尝试写出 DP 转移方程得到 \(f_i=f_{i+1} \times p(1-q)+f_i \times (1-p-q+2pq)+f_{i-1} \times q(1-p)\)。

\[f_i \times (p(1-q)+q(1-p))=f_{i+1}\times p(1-q)+f_{i-1}\times q(1-p) \]

\[(f_i-f_{i-1}) \times q(1-p)=(f_{i+1}-f_i)\times p(1-q) \]

设 \(g_i=f_i-f_{i-1}\),则 \(g_i \times q(1-p)=g_{i+1}\times p(1-q)\)。
\(\therefore \dfrac{g_{i+1}}{g_i}=\dfrac{q(1-p)}{p(1-q)}\)。
我们得到了一个很重要的性质:\(f\) 数组的差分数组是等比数列!!!
啊哈哈哈哈哈哈 Maly 也是出息了。
【以后记这个长长的公比为 \(k\)。】


我们需要分类讨论一下。
如果 \(\dfrac{q(1-p)}{p(1-q)}=1\),即 \(q-pq=p-pq \rightarrow q=p\),那么 \(g\) 数组都相等。
我们有一个结论,此时 \(f_n=\dfrac{n}{n+m}\)。
为什么呢?
我们回到最开始的式子,\(f_i \times (p(1-q)+q(1-p))=f_{i+1}\times p(1-q)+f_{i-1}\times q(1-p)\)。
把 \(p=q\) 代入得到 $$f_i \times (2p(1-p))=f_{i+1}\times p(1-p)+f_{i-1}\times p(1-p)$$

\[2f_i=f_{i+1}+f_{i-1} \rightarrow f_{i+1}-2f_i+f_{i-1}=0 \]

这是一个并不典型的“二阶线性差分方程”。
引用 Deepseek 的原话来解释。

什么是差分方程?

  • 差分方程是描述序列值之间关系的方程,类似于微分方程,但处理的是离散变量(如整数 \(n\))。在本问题中,\(f(n)\) 表示当 S 有 \(n\) 颗糖果时获胜的概率,它是一个离散函数。

什么是二阶线性差分方程?

  • 二阶:表示方程中涉及序列的“第二阶差分”,即同时包含 \(f(n+1)\)、\(f(n)\) 和 \(f(n−1)\) 项。直观上,它描述了当前状态与前后两个状态之间的关系。
  • 线性:表示方程中 \(f(n)\) 及其差分项都是以线性形式出现的(没有像 \(f(n) ^2\) 这样的非线性项)。
  • 齐次:表示方程右边等于零(即没有常数项或其他驱动项)。

如何求解这类方程?

  • 对于二阶线性齐次差分方程,通解通常通过特征方程法找到。
  • 假设解的形式为 \(f(n)=r^n\),代入方程:
    \(r^{n+1}−2r^n+r^{n−1}=0\)
  • 除以 \(r^{n−1}\)(假设 \(r \neq 0\)),得到 \(r^2−2r+1=0\),解得 \(r_1=r_2=1\)。
  • 因此通解为 \(f(n)=A+Bn\)。其中 \(A\) 和 \(B\) 是常数,由边界条件确定。

什么叫“特征方程法”?这又是另一个故事了。【本来二阶线性差分方程就是另一个故事。】

原本 \(f(i)\) 的通解为 \(f(i)=Ar_1^n+Br_2^n\)。
因此 \(af(i+1)+bf(i)+cf(i-1)=0\)

\[a(Ar_1^{i+1}+Br_2^{i+1})+b(Ar_1^i+Br_2^i)+c(Ar_1^{i-1}+Br_2^{i-1})=0 \]

拆开后得到:

\[a(Ar_1^{i+1})+b(Ar_1^i)+c(Ar_1^{i-1})=0 \]

\[a(Br_2^{i+1})+b(Br_2^i)+c(Br_2^{i-1})=0 \]

全部除以 \(x^{i-1}\)得到:

\[A(ar_1^2+br_1+c)=0 \]

\[B(ar_2^2+br_2+c)=0 \]

于是把 \(a,b,c\) 代入就可以解出两个解了。然后再回代。

边界条件很显然,前面说了:

\[f(0)=0 \rightarrow A=0 \]

\[f(n+m)=1 \rightarrow B(n+m)=1 \rightarrow B=\dfrac{1}{n+m} \]

\(\therefore f_n=\dfrac{n}{n+m}\)。


OK 解决了一个小情况,可以着手于普通情况了。
由差分数组性质得到 $$\sum_{i=1}^{n+m} g_i=f_{n+m}-f_0=1$$

\[又 \because g_i=g_1 \times k^{i-1} \]

\[\therefore \sum_{i=1}^{n+m} g_1 \times k^{i-1}=1 \]

\[\therefore g_1 \times \sum_{i=1}^{n+m} k^{i-1}=1 \]

\[\because (1+k+\dots +k^{n+m-1})(k-1) \]

\[=(k+k^2+\dots+k^{n+m}) \]

\[-(1+k+k^2+\dots+k^{n+m-1})=k^{n+m}-1 \]

\[\therefore \sum_{i=1}^{n+m} k^{i-1}=\dfrac{k^{n+m}-1}{k-1} \]

\[\therefore g_1 \times \dfrac{k^{n+m}-1}{k-1}=1 \]

\[\therefore g_1 =\dfrac{k-1}{k^{n+m}-1} \]

\[\therefore f_n=\sum_{i=1}^n g_i=g_1 \times \sum_{i=1}^n k^{i-1} \]

\[=g_1 \times \dfrac{k^n-1}{k-1}=\dfrac{k-1}{k^{n+m}-1} \times \dfrac{k^n-1}{k-1} \]

\[=\dfrac{k^n-1}{k^{n+m}-1} \]

于是这道题就可以……停停停,\(O(\log (n+m))\)???的时间复杂度做出来了???那那么小的数据范围是要干什么???

by: HME,Hog_Dawa_IOI, 霍格沃茨·达瓦里氏·水滴与引力波, Maly,Mn,Hermione Hemon, $\mathrm{Cu+2H_2SO_4} \xlongequal{\Delta} \mathrm{CuSO_4+SO_2\uparrow+2H_2O}$

相关新闻

吴恩达深度学习笔记----系列文章

吴恩达深度学习笔记----系列文章

2026/6/20 1:21:30 查看详情
2025年中国开发者代码管理平台选型全景报告:从本土化适配到全球化协作

2025年中国开发者代码管理平台选型全景报告:从本土化适配到全球化协作

2026/6/18 10:59:24 查看详情
使用CVX工具箱求解凸优化问题示例

使用CVX工具箱求解凸优化问题示例

2026/6/20 11:55:43 查看详情
义乌PVC盲盒公仔实力商家排行:5家头部工厂盘点 - 起跑123

义乌PVC盲盒公仔实力商家排行:5家头部工厂盘点 - 起跑123

2026/6/21 0:25:23 查看详情
Seedance 2.0:企业级视频生成中间件实战指南

Seedance 2.0:企业级视频生成中间件实战指南

2026/6/21 0:25:27 查看详情
基于MC56F8257 DSC的BLDC电机六步换相与速度闭环控制实战

基于MC56F8257 DSC的BLDC电机六步换相与速度闭环控制实战

2026/6/21 0:25:27 查看详情
国内文旅商业设计机构排行:性价比维度实测对比 - 起跑123

国内文旅商业设计机构排行:性价比维度实测对比 - 起跑123

2026/6/21 0:25:27 查看详情
3分钟学会智能图像分层:Layerdivider让复杂插画一键变可编辑PSD

3分钟学会智能图像分层:Layerdivider让复杂插画一键变可编辑PSD

2026/6/21 0:23:25 查看详情
2026工业隧道炉品牌推荐:技术与应用趋势解析 - 品牌排行榜

2026工业隧道炉品牌推荐:技术与应用趋势解析 - 品牌排行榜

2026/6/21 0:23:25 查看详情
WSL2下部署Openclaw:Windows开发者高效落地AI智能体的实践指南

WSL2下部署Openclaw:Windows开发者高效落地AI智能体的实践指南

2026/6/21 0:01:30 查看详情
GameServerManager:游戏服务器管理的终极解决方案

GameServerManager:游戏服务器管理的终极解决方案

2026/6/21 0:01:30 查看详情
实验室无尘室设计规范解析——华川洁净 - 华川洁净

实验室无尘室设计规范解析——华川洁净 - 华川洁净

2026/6/21 0:01:30 查看详情
WSL2下部署Openclaw:Windows开发者高效落地AI智能体的实践指南

WSL2下部署Openclaw:Windows开发者高效落地AI智能体的实践指南

2026/6/21 0:01:30 查看详情
GameServerManager:游戏服务器管理的终极解决方案

GameServerManager:游戏服务器管理的终极解决方案

2026/6/21 0:01:30 查看详情
实验室无尘室设计规范解析——华川洁净 - 华川洁净

实验室无尘室设计规范解析——华川洁净 - 华川洁净

2026/6/21 0:01:30 查看详情
YOLOv11涨点改进| CVPR 2026 | 独家创新首发、特征融合改进篇| 引入CMGF 引导特征融合机制,实现对不同模态特征的自适应增强与高效融合,助力多模态目标检测,小目标检测或分割有效涨点

YOLOv11涨点改进| CVPR 2026 | 独家创新首发、特征融合改进篇| 引入CMGF 引导特征融合机制,实现对不同模态特征的自适应增强与高效融合,助力多模态目标检测,小目标检测或分割有效涨点

2026/6/19 22:53:17 查看详情
E-E-A-T 成第一权重:2027 年无经验内容将被彻底淘汰

E-E-A-T 成第一权重:2027 年无经验内容将被彻底淘汰

2026/6/20 4:40:29 查看详情
深圳福田园岭老小区搬家公司推荐 经验足师傅高效搬运攻略 - 从来都是英雄出少年

深圳福田园岭老小区搬家公司推荐 经验足师傅高效搬运攻略 - 从来都是英雄出少年

2026/6/20 22:03:27 查看详情

关于尧图

立足北京本地的一站式网站建设服务与设计教学平台,深耕企业网站定制开发、全网 SEO 优化及网络推广服务。

快速链接

  • 关于我们
  • 建站服务
  • 案例展示
  • 资讯中心

服务项目

  • 企业官网定制
  • UI 界面设计
  • SEO 优化推广
  • 移动端适配

联系方式

电话:400-XXX-XXXX

邮箱:info@zskr.cn

地址:北京市朝阳区 XXX 路 XX 号

© 2026 尧图网络科技 版权所有 | 京 ICP 备 XXXXXXXX 号