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

P11089 [ROI 2021] 手机游戏 (Day 1) 笔记

实则是模拟赛 #35 T4,但是模拟赛笔记已经太懒断更一个月了。

常见贪心:找到每个位置无法删掉的最右位置 \(R_i\),单调栈解决。

此时,每个位置都可以保留 \((i,R_i]\) 中的任意一个位置 \(j\),并跳到 \(j\) 处开始下一轮决策,假设最优位置是 \(x\)

现在就变成了有以 \(x\) 为开头的后缀的子串,和以 \(j\) 为开头的后缀的子串,比较字典序,直接比较可以做到 \(O(n^3)\),难以优化。

比较字典序有一种常见做法:处理出每个位置 \(i\) 后面一段前缀 \([i,j]\) 的哈希,对于两个 \([i,n],[i',n]\),类似直接比较,不断扩展 \(j,j'\) 直到哈希值不相同,比较 \(s_j\)\(s_{j'}\) 的字典序即可,这样做还是 \(O(n^3)\) 的,但是哈希具有可合并的性质,且注意到从后往前做,\(>i\) 开头的对应子串不会发生改变,因此使用倍增优化到 \(O(n^2 \log n)\)

这个比较并不用 \([i,R_i]\) 都做一次,只需要弹栈的时候做。

时间复杂度 \(O(n\log n)\)

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

相关文章:

  • 实用指南:GESP2025年9月认证C++四级( 第三部分编程题(1)排兵布阵)
  • 完整教程:Transformer模型深度解析:从原理到谷歌级代码审查实战
  • 上周热点回顾(11.3
  • RediSearch从入门到生产级实战:全文搜索的“Redis原生解”
  • 前后端代码自动生成探索
  • 实用指南:JavaScript Reference Type解读
  • 基于Java开发的大学社团管理系统源码+运行步骤
  • 智能体详解——极简深度研究Agent
  • 大模型法律知识评估——Qwen3-0.6B到8B vs LawLLM-7B
  • C 数组
  • 网络层-IP内容报涉及到的两张表:路由表&ARP表
  • 2025年评价高的孤立导体测试仪厂家推荐及采购参考
  • 2025年靠谱的烘箱设备行业内知名厂家排行榜
  • 2025年知名的装饰金属网用户口碑最好的厂家榜
  • 2025年口碑好的集成阻尼铰链厂家实力及用户口碑排行榜
  • 关于开展博客专家及优质作者身份专项清理的公告 - 实践
  • 2025年口碑好的玻璃钢通风管道厂家实力及用户口碑排行榜
  • 2025年知名的保温管道品牌厂家排行榜
  • 2025年知名的工业加热炉厂家最新权威推荐排行榜
  • 2025年口碑好的8710防腐钢管厂家实力及用户口碑排行榜
  • 《软件需求最佳实践》阅读笔记三
  • 二分(p1314)
  • 2025年比较好的深水探照灯钣金加工用户口碑最好的厂家榜
  • 2025年质量好的新能源零配件旋压加工厂家最新热销排行
  • 2025年比较好的竖分式压缩垃圾站客户满意度排行榜
  • 2025年口碑好的水泥散装设备厂家推荐及选择参考
  • 2025年热门的泡沫包装箱厂家推荐及采购指南
  • 2025年知名的回火炉厂家最新权威实力榜
  • 2025年热门的气力均化设备厂家推荐及选购参考榜
  • 2025年知名的内衣裤子衣帽间收纳高口碑热销推荐榜