文章目录
D. Robert Hood and Mrs Hood
- 考虑到一个活动
开始时间和结束时间s,e
,那么可以影响到的范围就是s-d+1,e
,所以我们只需对这个每一个活动可以影响到的区域进行标记即可
,当然为了降低时间复杂度,我们将使用前缀和与差分
t = int(input())for _ in range(t):n,d,k = map(int,input().split())# 定义pre[i] 定义为 0 到 i 位置的前缀和问题pre = [0]*(n+2)for i in range(k):s,e = map(int,input().split())pre[max(1,s-d+1)] += 1pre[e+1] -= 1# 需要求解前缀和curbro,curmom = 0,0cur = 0bro,mom = -1,float("inf")for i in range(1,n+2-d):cur += pre[i]if cur > bro:curbro = ibro = curif cur < mom:curmom = imom = cur print(curbro,curmom)