首先这个取 \(\min,\max\) 操作很不好做。
并且对可能的操作序列计数很不好做。
参考 【题解】ARC111F Do you like query problems?。
考虑先转期望,求出每种操作序列的期望结果。
发现序列中每个位置都不受其他位置影响,相互独立。
考虑位置 \(i\)。每次操作 \(i\) 在操作区间内的概率为 \(p_i=\frac{2\cdot i\cdot (n-i+1)}{n(n+1)}\) 即左端点 \(\le i\),右端点 \(\ge i\),所有可能操作区间个数为 \(\frac{n(n+1)}{2}\)。
比较牛的是把 \(\min,\max\) 操作合在一起,看作将 \(a_i\to x\le a_i\) 时为取 \(\min\) 操作,否则为取 \(\max\) 操作,这样相当于有一半的概率能够将 \(a_i\) 修改为任意 \(x\in[0,m)\)。
则一次操作修改 \(a_i\) 的概率 \(t_i=\frac{m\cdot p_i}{2m+1}\),则 \(j\) 次操作后 \(a_i\) 的期望 \(f_{j}=f_{j-1}\cdot (1-t_i)+\frac{m(m-1)}{2}\cdot \frac{1}{m} \cdot t_i=f_{j-1}\cdot (1-t_i)+\frac{m-1}{2} \cdot t_i\)。前半部分为不修改 \(a_i\) 的情况,后者为其他情况。其中 \(f_0=0\)(初始序列均为 0)。
\(f_i-(1-t_i)f_{i-1}=t_i\frac{m-1}{2}\)
\(f_n=f_{n}-(1-t_i)f_{n-1}+(1-t_i)f_{n-1}-(1-t_i)^2f_{n-2}+\cdots\\=t_i\frac{m-1}{2}[1+(1-t_i)+(1-t_i)^2+\cdots+(1-t_i)^n]\\=t_i\frac{m-1}{2}\cdot \frac{(1-t_i)^n-1}{(1-t_i)-1}\\=-\frac{m-1}{2}[(1-t_i)^n-1]\\=f_n-(1-t_i)^nf_0\\=f_n\)
于是得到了通项公式。
则每种操作序列的期望结果
\(E=\sum_{i=1}^n\frac{p_i}{2m+1}\sum_{j=1}^q f_{i,j-1}\\=\sum_{i=1}^n\frac{p_i}{2m+1}\cdot \frac{m-1}{2}\cdot[q-\sum_{j=1}^q(1-t_i)^{j-1})]\\=\sum_{i=1}^n\frac{p_i}{2m+1}\cdot \frac{m-1}{2}\cdot(q-\frac{(1-t_i)^q-1}{(1-t_i)-1})\)
根据式子可以做到 \(O(n\log q)\) 求解。
最后再期望转回计数 \(ans=E\cdot[\frac{n(n+1)}{2}\cdot(2m+1)]^q\) 就做完了。