E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ3585
BZOJ3585
/洛谷P4137 区间mex(主席树)
题意有nnn个数{an}\{a_n\}{an},有mmm个询问,每个询问给定l,rl,rl,r,求al,...,ara_l,...,a_ral,...,ar的mexmexmex。(最小的未出现的自然数)其中n,m≤2e5,ai≤109n,m\leq2e5,a_i\leq10^9n,m≤2e5,ai≤109分析令viv_ivi表示iii最后出现的位置。用主席树维护viv_ivi。那么对于一个询问(l
iamhpp
·
2020-07-02 03:51
#
可持久化线段树
[
BZOJ3585
]-mex-莫队+分块
说在前面Emmmm闲着没事切一道莫队,半小时码+调感觉自己码力又增加了题目
BZOJ3585
传送门题目大意给出一个长为N的数字串,多次询问区间中没有出现过的自然数的最小值输入输出格式输入格式:第一行两个整数
泉華子
·
2018-01-10 12:26
分块
莫队
【
bzoj3585
】mex 莫队+分块
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=3585【题解】这题思维上有些难度,蒟蒻不得不偷窥了popoQQQ大爷题解。将1~n之间的自然数分成根号n块,每个块记录当前块中已经出现的不同的自然数的个数。那么在查询时只需要检验每个块是否满足r[i]-l[i]+1==blo[i],找到第一个不满足以上条件的,然后在该块内暴力查找即可。/**
chty_syq
·
2016-11-29 21:02
bzoj
莫队
分块
bzoj3585
mex 分块+莫队算法
题意:一个序列,多组询问,求区间最小没出现过的自然数。(n,m<=100000)权限题囧就不敲代码了吧,或者有时间再敲?orzpopoqqq真是太神了题解:首先考虑询问只有一次怎么做。按权值分块。例如:123|456|789block1|block2|block3每块内记录每块内有多少权值出现过(ans1),并记录每个权值出现次数(ans2)。回答时看每块ans1==block.size是否为真,
yxr0105
·
2016-05-05 10:00
分块
莫队算法
bzoj
[
BZOJ3585
]mex(离线+离散化+线段树)
题目描述传送门题解和BZOJ3339基本一样。但是需要离散化求next,然后求sg我用了map。代码#include#include#include#include#includeusingnamespacestd;constintmax_n=2e5+5;constintmax_tree=max_n*4;constintINF=2e9;intn,m,cnt,k,L,a[max_n],b[max_n
Clove_unique
·
2016-04-27 08:17
题解
线段树
[
BZOJ3585
]mex(离线+离散化+线段树)
题目描述传送门题解和BZOJ3339基本一样。但是需要离散化求next,然后求sg我用了map。代码#include#include#include#include#includeusingnamespacestd;constintmax_n=2e5+5;constintmax_tree=max_n*4;constintINF=2e9;intn,m,cnt,k,L,a[max_n],b[max_n
Clove_unique
·
2016-04-27 08:17
题解
线段树
[
BZOJ3585
]mex(离线+离散化+线段树)
题目描述传送门题解和BZOJ3339基本一样。但是需要离散化求next,然后求sg我用了map。代码#include #include #include #include #include usingnamespacestd; constintmax_n=2e5+5; constintmax_tree=max_n*4; constintINF=2e9; intn,m,cnt,k,L,a[max
Clove_unique
·
2016-04-27 08:00
线段树
bzoj
[
bzoj3585
]mex
题目大意求区间mex主席树我们建立主席树,对于第r棵线段树每一个位置i存储的是数字i出现的最右端。那么对于区间询问l~r,就是找到第r棵线段树的最大前缀区间,满足区间内每个数的最右出现位置都不小于l。这个很容易,我们只需要维护区间最小值,询问时如果左区间的区间最小值小于l说明mex在左区间否则mex在右区间。于是复杂度降为nlogn。#include #include #include #defi
WerKeyTom_FTD
·
2016-03-24 21:00
【
BZOJ3585
】mex【离线】【线段树】【mex】【离散化】
就是BZOJ3339的加强版。加个离散化就行了。(mex的离散化有点不一样/*FootprintsInTheBloodSoakedSnow*/ #include #include #include #include usingnamespacestd; constintmaxn=200005,maxm=maxn,inf=0x3f3f3f3f; intn,m,A[maxn],cnt,num[m
BraketBN
·
2016-03-08 23:00
【
bzoj3585
】mex 分块+莫队算法
因为在线不太可搞,所以考虑离线。首先,按照莫队的方式对操作排序,对权值分块,维护一下每个块出现的个数。每次询问,找到第一个没有铺满的块,在下一个块内暴力找即可。#include #include #include #include #include #include #definemaxn200010 usingnamespacestd; structyts { intl,r,id; }q[m
u012288458
·
2016-01-18 14:00
[BZOJ3339] Rmq Problem&&[
BZOJ3585
] mex
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=3339http://www.lydsy.com/JudgeOnline/problem.php?id=3585题目大意有一个长度为n的数组{a1,a2,…,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。题解我们考虑离线处理对于[1,R]的答案我们可以扫一遍O(N)时间处理出来一个数
slongle_amazing
·
2015-11-26 13:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他