码蹄杯 时间监控器 题型:前缀和预处理 难度:黄金

42 阅读1分钟

码题集OJ-时间监控器 (matiji.net)

思想

样例解析

我刚开始是用差分数组预处理出每段工作区间,但是这样的话不对.因为这样处理出来的前缀和数组最后是这个样子: image.png

但是,实际上的图应该是这个样子:

image.png 中间[2,3]并不是工作区间.

正解

我们先预处理出前缀和数组: 假如我们对下面这段区间图作前缀和预处理:

image.png

预处理结果为:

image.png

假设我们现在想求点5往前2个点内工作区间的个数: image.png

那我们就可以直接用s[5-s[3]=1. 答案就是1