定义 m e x ( S ) \mathrm{mex}(S) mex(S) 为集合 S S S 中未出现的最小非负整数。
给一个非负整数序列 { a i } i = 1 n \{a_i\}_{i=1}^n { ai}i=1n,定义 m e x ( L , R ) \mathrm{mex}(L,R) mex(L,R) 为 a L ∼ a R a_L\sim a_R aL∼aR 之间未出现的最小非负整数,计算:
∑ 1 ≤ L ≤ R ≤ n m e x ( L , R ) \sum_{1\le L\le R\le n}\mathrm{mex}(L,R) 1≤L≤R≤n∑mex(L,R)
这题看得我脑壳疼…有两种方法,第一种是线段树,另一种是递推DP。
第二种方法可以看 对hdu4747 Mex 的详解
我尝试再细化一下…
首先令
f [ i ] = ∑ 1 ≤ L ≤ i m e x ( L , i ) f[i]=\sum_{1\le L\le i}\mathrm{mex}(L,i) f[i]=1≤L≤i∑mex(L,i)
则有:
f [ i + 1 ] = ∑ 1 ≤ L ≤ i + 1 m e x ( L , i + 1 ) \begin{aligned} f[i+1]&=\sum_{1\le L\le i+1}\mathrm{mex}(L,i+1) \end{aligned} f[i+1]=1≤L≤i+1∑mex(L,i+1)
对于 k ≤ i k\le i k≤i,有:
m e x ( k , i ) ≤ m e x ( k , i + 1 ) \mathrm{mex}(k,i)\le\mathrm{mex}(k,i+1) mex(k,i)≤mex(k,i+1)
因此有 f [ i ] ≤ f [ i + 1 ] f[i]\le f[i+1] f[i]