当前位置: 首页 > news >正文

洛谷 P3706

SDOI2017 硬币游戏

标签 AC 自动机,高斯消元,状态优化

这个题的字符串只有 \(2\) 种字符。

\(n\) 个人,每个人有一个长度为 \(m\) 的字符串 \(s_i\)\(s_i\) 互不相同)。现在开始生成一个字符串 \(S\)

  • 每次随机一个字符加到 \(S\) 末尾。
  • 如果 \(s_i\)\(S\) 的子串(后缀),那么游戏结束,第 \(i\) 个人获胜。

求出每个人获胜的概率。

\(n, m \le 300\)

暴力

这种多串匹配问题很容易想到 AC 自动机,于是我们把他建出来。就有了一个极其暴力的做法:令 \(p_i\) 表示经过节点 \(i\) 的期望次数,那么第 \(i\) 个人获胜的概率就是 \(x_i = p_{ending_i}\)\(ending_i\) 表示 \(s_i\)acam 上对应的节点。转移按照 \(go_{u, 0/ 1}\) 走就行了:\(p_{go_{u, 0/ 1}} \leftarrow \frac{1}{2}p_u\)。(注意 \(ending_i\) 不能转移了)

于是我们就列出了 \(O(nm)\) 个方程,暴力高斯消元得到一个 \(O(n^3m^3)\) 的做法。

于是你就通过了这个题的 \(40pts/\)弱化版:JSOI2009 有趣的游戏

可能有利用每个方程大部分系数都是 \(0\) 模拟高斯消元的做法,但是我不会。

正解

看不懂大部分题解的神人做法,只学会了无脑做法。

因为有环,所以肯定是要高斯消元的,所以状态数就只能是 \(O(n)\) 级别。也就是说我们要剪掉一些状态

因为我们对于每个人都要求答案,根据 ”求谁设谁“ 的原则,我们就把 \(x_1 \sim x_n\) 当成未知数。(看做 \(x_1 \sim x_n\) 都知道了。)

现在尝试用 \(x_1 \sim x_n\) 表示出所有的 \(p_u\),观察一下转移有啥特点,对于一个点 \(u\) 来说,能转移到 \(u\) 的点 \(v\) 只有两类:

  • \(u\) 的父亲 \(fa_u\)
  • 从某些深度 \(d_v \ge d_u\)\(v\) 转移过来。

写出来就是:

\[p_u = \frac{1}{2}(p_{fa} + \sum p_v) \]

我们可以得到: \(p_{fa} = 2p_u - \sum p_v\)。根据 \(d_v \ge d_u\) 的性质,从下到上进行递推即可。(求 \(p_{fa}\)\(p_u, p_v\) 都已经求出 )。

然后就要来找方程了,对于那些有 trie 树上有两个儿子的节点 \(u\)\(p_u\) 有两种表示方式,而这两种方式的结构应该是一样的,就列出了 \(1\) 个方程。那一共有多少个 \(u\) 呢?答案是 \(n - 1\) 个,因为每出现一个这样的 \(u\)trie 树就多几个分支。从 \(1\) 个变成 \(n\) 个,所以有 \(n - 1\) 个这样的 \(u\)

还有一个怎么办?\(\sum x_i = 1\) 来凑。

\(n\) 个未知数,\(n\) 个方程,就可以高斯消元了。

复杂度

时间复杂度:\(O(n^3 + nm)\)。瓶颈是高斯消元。

空间复杂度:如果对于每个节点都记下 \(x_i\) 的系数,那么空间就达到了 \(O(n^2m)\),应该会被卡掉。但是可以对于每个 \(x_i\) 单独做,就是 \(O(n^2 + nm)\) 的了。

精度问题

因为高斯消元多次使用除法,很容易爆掉,比如我 \(60pts\)

注意找到某一行的 \(a_{x, i} \ne 0\) 时,不能选一个 \(abs() > eps\) 的,要选 \(abs()\) 最大的那个。

总结

在暴力的基础上,减少状态来优化复杂度,不难找到这 \(n\) 个状态,如何表示出其他 \(p_u\) 以及如何找到方程还是很有难度的。(毕竟是个黑题。)

http://www.jsqmd.com/news/70847/

相关文章:

  • 洛谷 P3706
  • 奖项
  • 创建抖音新号分享知识推广开源项目
  • 1-模型和算法
  • Nexpose 8.32.0 for Linux Windows - 漏洞扫描
  • 2025年潮州凤凰单丛茶品牌口碑推荐榜单以及全面解析 - 讯息观点
  • UniTask如何做到“零分配”
  • 如何实现 vxe-tree 树组件拖拽节点后进行二次确认提示
  • 2025年洁净室制造厂家推荐榜单:TOP10企业实力解析,谁是行业领跑者? - 深度智识库
  • 2025年12月国内市面上私有化部署定制智能体市场评测深度分析 - 品牌推荐官优选
  • 海外云主机的带宽质量对网站访问速度有多大影响?
  • 海外云主机的带宽质量对网站访问速度有多大影响?
  • CA8336/CA8345/CA8436/法国电能质量分析仪哪家好?推荐几家电能质量分析仪厂家 - 品牌推荐大师
  • CA8336/CA8345/CA8436/法国电能质量分析仪哪家好?推荐几家电能质量分析仪厂家 - 品牌推荐大师
  • 数据采集仪选购建议:GL980/GL2000/GL7000/GL260A/GL860A数据采集仪代理供应商推荐 - 品牌推荐大师
  • 数据采集仪选购建议:GL980/GL2000/GL7000/GL260A/GL860A数据采集仪代理供应商推荐 - 品牌推荐大师
  • SecureCRT SecureFX 9.7 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
  • 重生之二分我再也不敢乱用 lower_bound 了 [USACO23OPEN] Milk Sum S
  • t-SNE高效使用指南与常见误区解析
  • 国内商标转让平台哪家好?2025年3大靠谱平台推荐清单amp;避坑攻略 - 资讯焦点
  • 2025年防爆弯头铸钢4分6分批发厂家推荐榜单:防爆铸钢接线盒‌/防爆铸钢穿线盒‌/防爆穿线盒源头厂家精选 - 品牌推荐官
  • 江苏的中医师承班哪家好?阿虎医考师承实测体验 - 资讯焦点
  • 2025年机场广告品牌口碑榜:十大优选品牌深度解析,电梯门贴广告/影院广告/电梯视频广告/社区门禁广告/社区道闸广告机场广告公司找哪家 - 品牌推荐师
  • PostgreSQL 19:超高速聚合的全新突破
  • .NET 10 通俗解读:微软跨平台开发框架的重磅升级
  • 2026年北京继承纠纷律师推荐排名榜:胜诉率与专业解决方案深度解析 - 苏木2025
  • Postman测试Excel导入、导出
  • 2025年12月呼和浩特电线电缆故障检修/测漏水/管道维修/暖气片更换/消防管道测漏水服务公司技术实力综合评估 - 2025年11月品牌推荐榜
  • 2025年贵金属焚烧炉厂家权威推荐榜单:广东事故车报废电池组回收/广东大巴车电池组回收/广东退役汽车电池组回收供货服务商精选 - 品牌推荐官
  • GL980/GL2000/GL7000/USB蓝牙冷链温度记录仪选购指南:优质品牌、口碑厂家及供应商推荐 - 品牌推荐大师