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

qoj14457. 缺陷解码器

qoj14457. 缺陷解码器

有一初始为空的字符串 \(S\) 和大小为 \(m\) 的字符集 \(C\),一直执行以下操作:

  • \(C\) 中随意一个字符,接在 \(S\) 后面。

  • 分别令 \(S_1,S_2\) 表示 \(S\) 的 前/后 \(\lfloor\frac {|S|}2\rfloor\) 个字符构成的字串。假如 \(S\) 是一个回文串或者 \(S_1=S_2\),那么将 \(S\) 重置为空串。

  • 如果 \(S\) 未被重置,且 \(|S|=n\),那么退出。

现在给出 \(n,m\),问期望需要多少次操作退出?

\[n\le 12,m\le 10^9 \]


\(g(s)\) 表示串 \(s\) 是否合法,合法则为 \(1\),不合法则为 \(0\)。用 \(\varnothing\) 表示空串。

\(f(s)\),表示当前状态为 \(s\) 时的答案。

  • 如果 \(s\) 满足重置条件,那么 \(f(s)=f(\varnothing)\)
  • 否则,如果 \(|s|=n\),那么 \(f(s)=0\)
  • 否则,

\[f(s)=1+\frac 1m\sum_{c\in C}f(s+c) \]

但是由于这个转移式有环,无法直接转移。

暴力的方法是直接高斯消元,复杂度 \(\mathcal O(m^{3n})\)


但是这样很亏啊!

因为我们发现并不是到处都有环,假如拆掉所有指向 \(\varnothing\) 的边,剩下的转移显然无环。

由于转移是线性的,想象我们将所有从 \(\varnothing\) 出发最后回到 \(\varnothing\) 的环缩成一个 \(\varnothing\) 上的自环,那么最后剩下的唯一的转移就是 \(f(\varnothing)=\lambda f(\varnothing)+k\) 的形式,此时可以直接解出 \(f(\varnothing)\) 的值。

具体地,我们设 \(x=f(\varnothing)\),对于所有满足重置条件的 \(s\),我们令 \(f(s)=x\)

那么每个点上的 \(f\) 值可以被表示成 \(kx+b\) 的形式,最后转移到 \(\varnothing\) 时就可以解出 \(x\) 的值了。

时间复杂度 \(\mathcal O(m^n)\)


但是 \(m\) 太大了!怎么办?

由于字符之间是等价的,我们可以从左往右将第一次遇到的字符替换为 \(1,2,3,\cdots\),答案显然不变。

状态数减少到 \(\displaystyle\sum_{i=1}^n\text{Bell}(i)\),对于 \(n=12\) 这个值大约是 \(8\times 10^5\)

(但是官方题解说它 \(\approx 5\times 10^6\),不知道为啥


code

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

相关文章:

  • 2025年口碑好的涤纶单层网布厂家最新推荐权威榜
  • Index of /opensuse/distribution/leap/16.0/offline/
  • 基于单片机的纯正弦波逆变程序实现
  • 2025 年 10 月预制舱厂家推荐排行榜,光伏预制舱,风电光伏预制舱,储能预制舱,一二次设备电气预制舱,SVG 预制舱,控制预制舱公司推荐
  • Python变量 _ 怎么让程序记住你对象的手机号
  • 2025年酒吧氛围灯制造商权威推荐榜单:万圣节南瓜灯/酒吧装饰灯/圣诞树小夜灯源头厂家精选
  • 2025年杭州美术画室机构权威推荐榜单:画室/美术培训画室 /孪生画室源头机构精选
  • 2025年靠谱的双头螺杆热门厂家推荐榜单
  • 网络同步之伤害计算
  • P11292 【MX-S6-T4】「KDOI-11」彩灯晚会 解题报告
  • 2025 年拉丝机生产厂家最新推荐榜,技术实力与市场口碑深度解析,筛选优质品牌助力企业生产水箱直线式 / 非滑动式 / 双卷筒 / 平面拉丝机公司推荐
  • 深入解析:手写MyBatis第92弹:SqlSource体系、SqlNode树与Trim标签实现原理全揭秘
  • 2025年比较好的数字化涂装生产线厂家推荐及选择参考
  • 树形DP通用思路总结
  • 2025年深圳货车锂电池回收公司权威推荐榜单:沃特玛电池回收/力神锂电池回收 /测试车锂电池回收源头公司精选
  • 2025年知名的超微粉碎机厂家推荐及选择参考
  • 2025年11月份国内台球杆厂家推荐榜:台球杆、NVS球杆、手工杆实力品牌优选
  • 2025年质量好的木材单板烘干机厂家推荐及选择指南
  • 2025年江苏老酒回收服务商权威推荐榜单:洋酒回收/虫草回收/整箱茅台回收服务商精选
  • 基于英飞凌MCU实现BLDC无感正弦波FOC控制
  • 显式求解三维温度场并输出Tecplot文件的C++实现
  • 哈希重温
  • .NET6 Web程序部署在IIS上
  • 20251030模拟赛
  • HarmonyOS自动化测试与持续集成实战指南
  • HarmonyOS应用性能调优与内存管理实战
  • GEO优化源头厂家怎么选?这篇干货帮你摸透门道!
  • HarmonyOS大型项目架构与模块化开发指南
  • 鸿蒙NDK开发实战指南:从ArkTS到C/C++的高性能桥梁
  • HarmonyOS后台任务管理:短时任务与长驻任务实战