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

AT_arc108_e [ARC108E] Random IS

考虑一个 \(O(n^3)\) 做法。设 \(f_{i, j}\) 为取到区间 \([i, j]\)\(i, j\) 两端点都被取到的椅子数量期望是多少,最后用 \(n\) 减一下就可以了,转移就是枚举此时新选择的一个点 \(k\),然后你注意到 \([i, k - 1], [k + 1, j]\) 似乎有很多地方的值可以转移,记录一个二维前缀和即可做到 \(O(n^3)/O(n^3\log n)\),为了能够算出概率系数,我们还需要一个 \(g_{i, j}\) 表示此时期望还能在 \([i, j]\) 中选出的数的个数,根据期望的线性性,这样就可以转移了。

题解给出了一种更为深刻的刻画方式,考虑此时选中 \(i, j\),那么如果下一个选中的数在 \([i, j]\) 中,那么其概率与全局独立,只与 \([i, j]\) 有关,这是因为 \(a_i, a_j\) 提供的最紧的限制。那么设 \(f_{i, j}\) 为期望意义下还能选出的数的期望,请注意,这个状态的精妙之处就在于其是期望,不与个数的多少有关,根据期望的线性性,你每时每刻都可以当成一个数去理解,从而不必考虑全局还有多少个数能够选出的限制。转移即为(设 \(g_{i, j}\) 为小于 \(a_j\) 大于 \(a_i\)\([i, j]\) 里的个数):

\[f_{i, j} = \frac{\sum_{i \le k \le j, a_i \le a_k \le a_j}f_{i, k} + f_{k, j}}{g_{i, j}} + 1 \]

使用树状数组即可完成优化。

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

相关文章:

  • 美国亚马逊UL产品标准检测报告要点
  • 如何高效盘点电脑文件并实现内容级搜索?文件清单盘点与文档内容深度搜索实践
  • Python 异步下载文件实战:使用 asyncio + aiohttp 实现高并发下载
  • ASTM F1989-05(R2013) 烹饪用灭火毯标准
  • wait和notify
  • 5 大用例设计笔试大题,附超详细解析!
  • 第八天|151.翻转字符串里的单词 55.右旋转字符串 459.重复的子字符串
  • 程序员棋谱之一——单例模式
  • rpc节点: synchronized (this) + 双检锁,在 race condition 的情况下分析
  • 二进制不同位数【牛客tracker 每日一题】
  • MAC 怎样加密压缩 zip 包?
  • 救命神器10个AI论文写作软件,助本科生轻松搞定毕业论文!
  • Pixels 医疗影像一站式解决方案从入门到精通
  • Linux 内存管理中的 Overcommit(过度分配)机制及OOM Killer 的处理逻辑详解
  • MySQL InnoDB Cluster升级到MySQL 8.4.x
  • LangGraph MCP Tool Calling Agent:让企业级智能体开发不再头大
  • 2026年电动刮研刀厂家推荐,提升生产效率与加工精度
  • 做自媒体3年,终于找到稳定免费图床:CloudFlare-ImgBed实测
  • Mac Mouse Fix:让几十块的普通鼠标也能拥有丝滑触控板体验
  • 数列分块入门学习笔记
  • FastScheduler:让 Python 定时任务变得优雅简单
  • HanaVerse:把本地大模型变成二次元虚拟女友,这才是我们想要的 AI
  • 2026年物业管理行业发展核心趋势解析:服务升级与价值重塑
  • 从 0 到 1 认识大模型:核心原理与价值应用指南
  • Qt国际化实战指南:使用翻译官实现多语言应用
  • 实用指南:spark的静态内存管理机制
  • 智能体插件研发应该的技巧
  • 期货飞马柜台系统+超融合:全栈国产,节省超60%硬件成本!
  • Vue3登录注册验证码实战
  • 一张图看懂无线网络参考模型