活动安排问题 之 前缀和与差分

文章目录

D. Robert Hood and Mrs Hood




  • 考虑到一个活动开始时间和结束时间s,e,那么可以影响到的范围就是 s-d+1,e,所以我们只需对这个每一个活动可以影响到的区域进行标记即可,当然为了降低时间复杂度,我们将使用前缀和与差分
python 复制代码
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)] += 1
        pre[e+1] -= 1
    # 需要求解前缀和
    curbro,curmom = 0,0
    cur = 0
    bro,mom = -1,float("inf")
    for i in range(1,n+2-d):
        cur += pre[i]
        if cur > bro:
            curbro = i
            bro = cur
        if cur < mom:
            curmom = i
            mom = cur 
    print(curbro,curmom)
相关推荐
精彩漂亮ing35 分钟前
CExercise_13_1排序算法_2归并排序
算法·排序算法
小媛早点睡2 小时前
贪心算法day10(无重叠区间)
算法·贪心算法
DataFunTalk3 小时前
乐信集团副总经理周道钰亲述 :乐信“黎曼”异动归因系统的演进之路
前端·后端·算法
行走的bug...3 小时前
sklearn估计器和变换器共有的一些方法 待更新
人工智能·算法·sklearn
DataFunTalk3 小时前
开源一个MCP+数据库新玩法,网友直呼Text 2 SQL“有救了!”
前端·后端·算法
Y.O.U..4 小时前
力扣HOT100——560.和为k的子数组
数据结构·c++·算法·leetcode
wuqingshun3141594 小时前
经典算法 判断一个图中是否有环
java·开发语言·数据结构·c++·算法·蓝桥杯·深度优先
柃歌4 小时前
【LeetCode Solutions】LeetCode 160 ~ 165 题解
数据结构·算法·leetcode
小森77674 小时前
(五)机器学习---决策树和随机森林
算法·决策树·随机森林·机器学习·分类算法
爱编码的傅同学4 小时前
数据结构(六)——红黑树及模拟实现
数据结构·算法