AcWing 1087. 修剪草坪

题目传送门

一、题目描述

给定一个长度为 \(n\) 的数组 \(w\),其中 \(w_i\) 是第 \(i\) 个元素的 贡献

我们可以选择的 数组 中的一些 元素,这些元素的 贡献总和 表示我们该种 方案价值

但是,如果方案中出现选择了 连续相邻 且超过 \(m\) 个元素,则这些 连续相邻 的元素 贡献 归零

求解一种 方案,使得选择的 元素贡献总和 最大

二、分析

考虑用 动态规划 来求解本问题

由于 连续选择 超过 \(m\) 个元素时,这些元素的 贡献 为 \(0\) (相当于没选)

而本题,所有的元素值都是 正整数,故我们的方案中,连续选择的元素数量 一定是 不超过 m 的

于是,我们就可以通过 最后一次没有选择的元素,对 集合进行划分

闫氏DP分析

状态表示-集合 \(f_i\):以 \(i\) 为右端点的 前缀数组 的选择方案

状态表示-属性 \(f_i\):方案的 价值 最大 \(Max\)

上一篇:AcWing 433. ISBN号码


下一篇:acwing算法基础课笔记