• 数学专题测试一 题解


    写在前面:

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

  • 相关阅读:
    Sencha touch 初体验
    Android开发——NDK开发入门
    Android开发——Activity(活动)的生命周期(上)
    Android开发——构建自定义组件【转】
    Android开发——使用Gallery实现“多级联动”
    Android开发——Android搜索框架(一)
    LINQ之路 6:延迟执行(Deferred Execution)
    .Net小笔记之.NET Framework的内容
    c#高级编程学习笔记之创建一个简化的链表类
    C#高级编程读书笔记之泛型的优点
  • 原文地址:https://www.cnblogs.com/AthosD/p/12141570.html
Copyright © 2020-2023  润新知