数学专题测试一 题解
写在前面:
三个暴力+$T1$的一个部分分苟到了$rk7$,但是和前面尤其是$rk1$小牛杯的差距很大A. 解方程
标签:
容斥+$exLucas$
题解:
考场上没想到容斥,更没有回忆起来$exlucas$,组合数还求错了挂了10分,所以最后只有50分
机房的$dalao$们大部分都能想到容斥但是被$exLucas$卡住了,因为容斥和$exLucas$几乎是同时出现的
所以$50$分并不是很难看
首先$n_2$是没有用的,可以先强制给$a[i]-1$个,便和$[n_1+n_2+1,n]$一样了
之后发现$n_1<=8$可以$2^{n_1}$枚举是否超出限制,便可以奇加偶减进行容斥了
组合数需要用$exLucas$进行处理
B. 宇宙序列
标签:
$FWT$+倍增
题解:
卷积是满足结合率的,所以可以$FWT$一次后把点值对位相乘$p$次并加到$b$数组中最后把$b$再$IFWT$回去
然而$p<=10^9$,问题转化为了快速求出$\sum\limits_{i=0}^{p}x^{2^{i}}$
考虑倍增:
设$f[x][i]=\sum\limits_{j=0}^{2^i}x^{2^{j}}$
便有转移:
$f[x][i]=f[x][i-1]+f[x^{2^{2^{i-1}}}][i-1]$
最终复杂度$O(nlog_2^2(n))$
C. exp
标签:
概率期望
题解:
首先考虑枚举最后一个转成$X$的位置,显然它的贡献为$\frac{n-1}{2}$
于是环上问题便转化为了序列上的问题
由于一个.可以把左右两个区间分离开互不影响直到它变为$X$
所以这个问题有明显的子结构,可以区间$dp$
设$f[i][j]$代表$[i,j]j$从未转化的期望步数,$g[i][j]$代表概率
$p[i][j][k]$代表$[i,j]j$从未转化且最后一个转化在$k$位置的概率
便有转移:
$p[i][j][k]=(\frac{L(i,k)}{L(i,j)})^{S(i,k)}*(\frac{L(k+1,j)}{L(i,j)})^{S(k+1,j)-1}*C_{S(i,j)-2}^{S(i,k)-1}*g[i][k]*g[k+1][j]$
其中$S(i,j)$代表$i$到$j$的.的个数,$L(i,j)$代表$i$到$j$的长度
就是说先保证$[i,k]$,$[k+1,j]$有$S(i,k)$,$S(k+1,j)$个
再乘上$g[i][k]$,$g[k+1][j]$保证合法
最后乘上组合数确定顺序
$g[i][j]=\sum\limits_{k=i}^{j-1}p[i][j][k]$
$f[i][j]=\sum\limits_{k=i}^{j-1}\frac{p[i][j][k]}{g[i][j]}*(f[i][k]+f[k+1][j]+\frac{L(i,k)-1}{2})$
除一个$g[i][j]$是因为$p[i][j][k]$是基于$g[i][j]$的概率
也即$\sum\limits_{k=i}^{j-1}p[i][j][k]=g[i][j]$
最后$ans=\sum\limits_{k=1}^{n}g[k+1][k]*f[k+1][k]$
再加上最后一个的贡献$\frac{n-1}{2}$便是答案