[莫队] [分块] [BZOJ3585] mex
2017-01-30 22:52
239 查看
题目描述 Description
有一个长度为n的数组{a1,a2,...,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。
输入 Input
第一行n,m。
第二行为n个数。
从第三行开始,每行一个询问l,r。
输出 Output
一行一个数,表示每个询问的答案。
样例输入 Sample Input
5 5
2 1 0 2 1
3 3
2 3
2 4
1 2
3 5
样例输出 Sample Output
1
2
3
0
3
限制 Limits
对于30%的数据:
1≤n,m≤1000
对于100%的数据:
1≤n,m≤200000
0≤ai≤109
1≤l≤r≤n
Time Limit : 2s & Memory Limit : 128MB
时间限制是猜的......也不知道多少组数据......
只有查询,没有修改的问题,不要求在线,直接莫队……
诶ai怎么这么大?可是并不需要离散化ai。
why?
想象一种极端情况,数列n个数,其中的所有数都大于n,询问最小没出现的自然数,自然是0。
再来一种,数列n个数,其中前n−1个为1到n−1,最后1个大于等于n,那么答案应该为0。
第三种,数列n个数,为0到n−1,答案为n。
所以,如果有一些数大于n,其余小于等于n,那么大于n的部分对答案没有影响,答案只会取决于小于等于n的部分。
假如要求在线呢……
很多人写主席树,本蒟蒻并不会……
时间复杂度O(Tn√)
主席树是O(Tlog2n)的
Code
有一个长度为n的数组{a1,a2,...,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。
输入 Input
第一行n,m。
第二行为n个数。
从第三行开始,每行一个询问l,r。
输出 Output
一行一个数,表示每个询问的答案。
样例输入 Sample Input
5 5
2 1 0 2 1
3 3
2 3
2 4
1 2
3 5
样例输出 Sample Output
1
2
3
0
3
限制 Limits
对于30%的数据:
1≤n,m≤1000
对于100%的数据:
1≤n,m≤200000
0≤ai≤109
1≤l≤r≤n
Time Limit : 2s & Memory Limit : 128MB
时间限制是猜的......也不知道多少组数据......
只有查询,没有修改的问题,不要求在线,直接莫队……
诶ai怎么这么大?可是并不需要离散化ai。
why?
想象一种极端情况,数列n个数,其中的所有数都大于n,询问最小没出现的自然数,自然是0。
再来一种,数列n个数,其中前n−1个为1到n−1,最后1个大于等于n,那么答案应该为0。
第三种,数列n个数,为0到n−1,答案为n。
所以,如果有一些数大于n,其余小于等于n,那么大于n的部分对答案没有影响,答案只会取决于小于等于n的部分。
假如要求在线呢……
很多人写主席树,本蒟蒻并不会……
时间复杂度O(Tn√)
主席树是O(Tlog2n)的
Code
相关文章推荐
- bzoj 3585 mex - 线段树 - 分块 - 莫队算法
- 【莫队算法】【权值分块】bzoj3585 mex
- BZOJ_3585_mex && BZOJ_3339_Rmq Problem_莫队+分块
- [BZOJ 3585] mex 【莫队+分块】
- BZOJ 3585 mex 莫队算法+分块
- BZOJ 3585 mex 莫队算法+分块
- BZOJ 3339/3585 Rmq Problem/mex 莫队算法
- 【BZOJ3339&&3585】mex [莫队][分块]
- BZOJ 3585: mex|莫队算法
- 【BZOJ4129】Haruna’s Breakfast,树上带修莫队+权值分块求mex
- BZOJ_3585_mex && BZOJ_3339_Rmq Problem_主席树
- [bzoj3339]Rmq Problem||[bzoj3585]mex_线段树
- BZOJ.3809.Gty的二逼妹子序列(分块 莫队)
- bzoj 3236: [Ahoi2013]作业 莫队算法+分块
- bzoj 3585: mex
- bzoj 4129: Haruna’s Breakfast (带修改树上莫队+分块)
- 【BZOJ3809】Gty的二逼妹子序列 (莫队+分块)
- 【bzoj4129】Haruna’s Breakfast 带修改树上莫队+分块
- BZOJ 3585: mex [主席树]
- 【BZOJ3809】Gty的二逼妹子序列 莫队 分块