GDCPC2021 K - 线段覆盖模型2

题目大意:

一维数轴上给你若干条线段,每个线段有一个值 v v v,然后 m m m次操作。要求支持线段插入和区间查询最大值减最小值.强制在线

n , m ≤ 1 e 5 , 数 轴 ∈ [ 1 , 3000 ] n,m\leq1e5,数轴\in[1,3000] n,m1e5,[1,3000]

题目思路:

本题核心思想:区间覆盖问题转换成二维平面前缀问题

一个区间 [ x , y ] [x,y] [x,y]看成二维矩阵中的一个点 ( x , y ) (x,y) (x,y).则

①修改 [ x , y ] [x,y] [x,y]看成单点修改

②查询 [ x , y ] [x,y] [x,y]即查询 l ≥ x ∧ r ≤ y l\geq x \wedge r \leq y lxry,类似下图的区域:
在这里插入图片描述
x x x看成 n − x n-x nx.如下图所示:

那么区间查询即转换成:二维矩阵前缀查询

又因为二维矩阵大小很小。我们可以直接建二维数组,求前缀最值即可。

复杂度带两个log.

离线算法:CDQ分治

如果这题离线了,可以建三维坐标 ( t , l , r ) (t,l,r) (t,l,r)代表分别时间和坐标.具体做法待补.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值