用户工具

站点工具


2020-2021:teams:farmer_john:2020暑假精选题目:数据结构

这是本文档旧的修订版!


数据结构

CF803G

题意

将一个长度为$n$的序列复制$k$次,要求维护数据结构支持区间赋值与区间最小值查询,$q$次操作。$(n,q \le 10^5,k \le 10^4)$

题解

线段树动态开点,对于没有开点的部分$[l,r]$,可以将原序列复制一遍到$2n$长度,将其对应到$[(l-1)\mod n+1,(l-1)\mod n+1+l-r]$的区间,使用ST表$O(1)$查询即可。

CF813E

题意

给定长度为$n$的序列,$q$次询问在$[l,r]$中最多能选多少数满足同一个数的出现次数不超过$k$,强制在线。$(n,q,k \le 10^5)$

题解

设$a_i$为第$i$个数后面第$k$个相同的数的下标,如果没有则为$n+1$。所求转化为$[l,r]$区间内有多少$a_i>r$,主席树维护即可。

2020-2021/teams/farmer_john/2020暑假精选题目/数据结构.1599187823.txt.gz · 最后更改: 2020/09/04 10:50 由 jjleo