题目
描述
一个数列长度为 n,现给出一个区间 [l,r] 及一个值 k,求区间内 k 值的个数
输入
第 1 行,一个数 n
第 2 行,数列中的 n 个元素
第 3 行,给定的区间数 q
第 4 到 q+3 行,每行三个数 分别为 l,r,k
输出
n 行,每个区间 qk 的个数, 和输入顺序相同
Example
Input
5
1 2 3 3 5
3
1 2 2
2 3 1
3 5 3
Output
1
0
2
题解
莫队算法
- 读入所有查询区间,对区间排序,
- 莫队算法,用 map 维护 qk 出现的次数
- 时间复杂度 O(qlog q+nlog n)
1 |
|