题目名称 | 3740. 求区间众数 |
---|---|
输入输出 | IntervalMode.in/out |
难度等级 | ★★★ |
时间限制 | 2000 ms (2 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | yrtiop 于2022-08-22加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:3, 提交:6, 通过率:50% | ||||
op_组撒头屯 | 100 | 1.122 s | 6.42 MiB | C++ |
yrtiop | 100 | 1.132 s | 6.95 MiB | C++ |
┭┮﹏┭┮ | 100 | 6.604 s | 48.62 MiB | C++ |
┭┮﹏┭┮ | 30 | 3.010 s | 33.78 MiB | C++ |
┭┮﹏┭┮ | 30 | 3.137 s | 122.70 MiB | C++ |
op_组撒头屯 | 0 | 1.206 s | 6.42 MiB | C++ |
关于 求区间众数 的近10条评论(全部评论) | ||||
---|---|---|---|---|
回复 @Skylake :
这种类型的题目也许来自于神中神陈立杰(orz%%%)的文章《区间众数解题报告》,在文章中,WJMZBMR神犇提到了除了$O((n + q) \sqrt n \log n)$ 的二分查找的做法之外的优化做法,实现了 $O((n + q) \sqrt n)$ 的时间复杂度(当然这一题不强制在线,神犇的莫队解法也很优秀,对于空间的要求要更小,比如这一题我用这个方法就会超内存),文章甚至提到了带修的区间众数解法,很具参考意义,可以看一下,已上传至 Onedrive
lihaoze
2022-08-24 21:16
4楼
| ||||
yrtiop
2022-08-24 11:15
3楼
| ||||
FoolMike
2022-08-24 00:33
2楼
| ||||
标程已提交,没有经过他人验题,如果有误请联系我
yrtiop
2022-08-22 23:33
1楼
|
注:本题和 [COGS.3231]蒲公英 的区别在于更大的数据规模以及不强制在线。
给定一个长为 $N$ 的序列 $a_1,a_2,\ldots,a_N$。
$M$ 次询问,每次求出 $[l,r]$ 中出现次数最多的数。如有出现次数相同的数,取数值较小者。
第一行一个整数 $N$,表示序列长度。
接下来一行 $N$ 个整数 $a_1,a_2,\ldots,a_N$。
第三行一个整数 $M$,表示询问个数。
接下来 $M$ 行,每行两个整数 $l,r$,表示询问区间。
对于每个询问,输出一个整数,表示该询问区间的众数。
5 1 2 2 1 3 3 1 3 1 4 2 5
2 1 2
在此键入。
对于 30% 的数据,$1\le N,M\le 10^3$。
对于 100% 的数据,$1\le N,M \le 10^5,1\le a_i \le 10^9$。