专栏文章

题解:ABC426F Clearance【线段树】

题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minow29z
此快照首次捕获于
2025/12/02 05:57
3 个月前
此快照最后确认于
2025/12/02 05:57
3 个月前
查看原文

ABC426F Clearance

因为是在线的区间操作,考虑用线段树维护。
既然每种商品之间是独立的,那我们就单独考虑。假设下一次需要购买某种商品 KK 个,那么该商品数量 AA 有三种状态:
  1. AKA\ge K
  2. 0<A<K0<A<K
  3. A=0A=0
每种商品如果这次是状态 2,之后就一直是状态 3 了。因此可以暴力处理状态 2,最多只会处理 NN 次。然后维护状态 1 3。
用线段树维护即可,实现的时候类似于区间线段树二分,只不过一次二分可以同时找到多个状态 2 的位置。复杂度 O((N+Q)logN)O((N + Q) \log N)

评论

0 条评论,欢迎与作者交流。

正在加载评论...