zoukankan      html  css  js  c++  java
  • 数学专题测试一 题解

    写在前面:

    三个暴力+$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$,问题转化为了快速求出$sumlimits_{i=0}^{p}x^{2^{i}}$

    考虑倍增:

    设$f[x][i]=sumlimits_{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]=sumlimits_{k=i}^{j-1}p[i][j][k]$

    $f[i][j]=sumlimits_{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]$的概率

    也即$sumlimits_{k=i}^{j-1}p[i][j][k]=g[i][j]$

    最后$ans=sumlimits_{k=1}^{n}g[k+1][k]*f[k+1][k]$

    再加上最后一个的贡献$frac{n-1}{2}$便是答案

  • 相关阅读:
    【转】使用Javascript改变HTML内容 拓荒者
    【转】ASP.NET MVC 过滤器Filter 拓荒者
    【转】JavaScript简介 拓荒者
    edge.js架起node.js和.net互操作桥梁
    利用Node.js为Node.js生成HttpStatusCode辅助类并发布到npm
    nodejs上HTML分析利器nodejquery
    JavaScript 函数replace揭秘
    利用Node.js本地构建
    Angularjs的IOC Inject分析
    团队文化中的害群之马
  • 原文地址:https://www.cnblogs.com/AthosD/p/12141570.html
Copyright © 2011-2022 走看看