尺取法学习笔记
今天老师讲了提了下尺取,于是就有了这篇笔记 PS:我觉得我们老师形容得很贴切,尺取就像虫子蠕动一样 例题: 给出一个序列,求区间和大于或者等于S的最短区间长度. 我们假设序列长度为10,S为15,序列为 3 2 8 10 5 3 8 4 2 9 尺取法的思路大概就是,我们使用三个变量L,R,tot, 表示区间的左右两边和区间权值和 先初始L=R=1,tot=0 然后开始 蠕动 过程: i: 1 2 3 4 5 6 7 8 9 10 ai: 3 2 8 10 5 3 8 4 2 9 L: + R: + 计算区间tot+=a[R] 再将R向前移动一位 得出tot=3,比S小,所以我们将R向后移动 i: 1 2 3 4 5 6 7 8 9 10 ai: 3 2 8 10 5 3 8 4 2 9 L: + R: + 计算区间tot+=a[R] 再将R向前移动一位 得出tot=5,比S小,继续移动R i: 1 2 3 4 5 6 7 8 9 10 ai: 3 2 8 10 5 3 8 4 2 9 L: + R: + 计算区间tot+=a[R] 再将R向前移动一位 得出tot=13,比S小,继续移动R i: 1 2 3 4 5 6 7 8 9 10 ai: 3 2 8 10 5 3 8 4 2 9 L: + R: + 计算区间tot+=a[R] 再将R向前移动一位 得出tot=13,比S小