1 条题解
-
0
核心思路
主席树 + 贪心选择
问题转化
- 原序列由交替的 块和 块组成
- -近似序列要求翻转次数 时最大化 的数量
- 等价于选择一些 块,块间用 块分隔,总切换次数不超过
重要公式
1. 切换次数与块选择
选择 个 块时,切换次数为:
其中 取决于首尾块是否为 块
2. 最大和计算
对于区间 ,最大和为:
$$\max_{S \subseteq \text{候选1块}} \left\{ \sum_{i \in S} \text{len}_i \right\} $$满足切换次数约束
3. 贪心策略
- 优先选择长度大的 块
- 用主席树维护 块长度,支持前 大和查询
- 考虑边界情况:区间可能只覆盖块的一部分
算法框架
-
预处理:
- 记录每个块的起止位置
- 对 块长度建立主席树(按长度排序)
-
查询处理:
- 定位 所在的块
- 处理完全包含在单个块内的情况
- 否则收集边界部分块,枚举边界选择方案
- 对内部完整 块,用主席树查询前 大和
-
组合答案:
- 枚举边界块的选择状态
- 剩余切换次数分配给内部块
- 取所有情况的最大值
关键优化
- 主席树 查询前 大和
- 边界情况枚举(常数大小)
- 切换次数与选择块数的线性关系
- 1
信息
- ID
- 4139
- 时间
- 2500ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 10
- 已通过
- 1
- 上传者