1 条题解
-
0
题解
思路
设最终贡献最大的三个景点位置为 。把路线端点缩到 不会丢掉这三个景点,只会缩短距离,因此最优值等价于
做法
小规模可直接枚举 ,复杂度 。
中等规模固定 ,随着 向右移动维护区间 内最大的 ,即可在 内求解。
满分做法把式子拆成
预处理
prefix[j-1]为 左侧最大的 ,suffix[j+1]为 右侧最大的 。枚举中间位置 ,三项相加取最大值。正确性证明
任一合法路线中三个最高景点的最左、最右位置记为 。把路线改为 后三者仍在路线内,且扣除的距离不增,所以存在最优路线以所选三点的两端为边界。于是枚举有序三元组的目标式与原问题完全等价。
对固定 ,左侧项与右侧项互不影响,分别取 中最大的 和 中最大的 就得到所有以 为中点的三元组最优值。枚举全部 后必然覆盖全局最优三元组,因此算法正确。
复杂度分析
前后缀各扫描一次,枚举中点一次。每组时间复杂度 ,空间复杂度 。
- 1
信息
- ID
- 1128
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者