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

P5469 [NOI2019] 机器人 题解

P5469 [NOI2019] 机器人 题解

分析最右侧的最大值的位置,发现当 \(n\) 为偶数时只能在中间两个位置,当 \(n\) 为奇数时只能在中间三个位置。可以 DP,设 \(f_{l,r,i}\) 表示 \([l,r]\) 的最大值小于等于 \(i\) 的方案数,枚举最右侧最大值在 \(x\),从 \(f_{l,x-1,i}\)\(f_{x+1,r,i-1}\) 转移。因为 \(x\) 的位置特殊,猜想有用的 \([l,r]\) 不会很多,打表发现只有 \(2000+\) 个。直接做计算量 \(2000\times \max B_i\),可以获得 \(50\) 分。

考虑以 \(a_i,b_i+1\) 把值域分成左闭右开的连续段,那么猜想每一段都是一个多项式。具体来说,考虑 \(l=r\) 时,每一段是一次函数。由于 \(f\) 的转移是两边的 \(f\) 乘起来,再求前缀和,求前缀和对次数没有影响,所以 \([l,r]\) 的每一段都是 \((r-l+1)\) 次多项式。因此可以对每段都求出前 \((r-l+2)\) 个值,需要求某个位置值时可以 \(O(r-l)\) 拉插。

分析复杂度大概是

\[\sum (r-l)^3 \]

这个东西的实际上是 \(O(n^3)\) 量级的。可以通过。

http://www.hskmm.com/?act=detail&tid=21097

相关文章:

  • 题解:P14080 [GESP202509 八级] 最小生成树
  • 实用指南:Spring Cloud Gateway 实战:全局过滤器日志统计与 Prometheus + Grafana 接口耗时监控
  • GTSAM 中自定义因子(Custom Factor)的详解和实战示例 - 指南
  • AtCoder AGC073 A 题解
  • CF506C Mr. Kitayuta vs. Bamboos 51nod1457 小K vs. 竹子 题目分析
  • 北京 意大利 硕士学签/D签 vfs代办 材料清单
  • temp
  • 我有园子了
  • 使用 Jenkins 的流水线方案实施 CI/CD
  • 加密的病例单
  • 详细介绍:视频融合平台EasyCVR构筑智慧交通可视化管理与智能决策中枢
  • docker 在x86上build arm 镜像
  • 9.29软工
  • 不一样的.NET烟火,基于Roslyn的开源代码生成器
  • 复刻江协旋钮控制模块
  • 告别硬编码!5个让Web自动化脚本更稳定的定位策略
  • 从零开始,使用Idea工具搭建一个springboot项目
  • 最优/极值问题的算法选择
  • 第三方控件库的添加和使用
  • C4NR PVP服务器1.2 天穹炮塔更新
  • 树形dp [JOI Open 2020] 发电站 / Power Plant
  • 深入解析:灵画-AI绘画小程序
  • AT_arc156_b [ARC156B] Mex on Blackboard
  • 产品排序
  • 环形链表II-leetcode
  • ubuntu20.04安装nvidia显卡
  • [线段树系列 #6] 标记永久化
  • 9.29
  • c语言switch和if语句
  • Qt(制作一个方便的文本编辑器)