会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员后可解锁完整内容。
解题思路
核心思路
每个合格抽检组占用连续 3 个位置,被选中的组不能共用工件,因此所选组的起点下标两两至少相差 3。从左到右扫描:一旦当前位置起的三件合格,就立刻取走这一组,并把扫描位置跳过这三件;否则只右移一位。放弃当前最左的合格组不会得到更优答案,因为后面的组最多再占用这三件中的一部分,组数不会因此增加。
实现方法
用 qi,qi+1,qi+2 的最大值减最小值判断是否合格。维护扫描下标 i,合格则答案加一并将 i 增加 3,否则 i 增加 1。也可用 f[i] 表示前 i 件的答案:f[i]=f[i−1],若最后三件合格则再与 f[i−3]+1 取最大,复杂度相同。