数学专题测试一 题解

写在前面:

三个暴力+$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}$便是答案

posted @ 2020-01-03 06:31  ATHOSD  阅读(186)  评论(4编辑  收藏  举报