zoukankan      html  css  js  c++  java
  • 2019牛客暑期多校训练营(第九场)

    2019牛客暑期多校训练营(第九场)

    C. Inversions of all permutations

    solved by rdc

    题意 给序列,每种排列的贡献为 (b^{inv})

    做法

    • 考虑每个元素不同的情况,从小到大,插入元素,枚举插入元素的位置,可实现递推。设 (f_i) 为 1 到 i 的排列的答案,(f_{i+1}=f_i(1+B+B^2+...B^i))
    • 有元素相同呢?
    • (frac{f_n}{prod_{i=1}^{mx} f_{c_i}}) 就是答案。
    • 这是为什么啊?
    • 【伪证】数学归纳,考虑 (a) 个 0,和 (b) 个 1 的排列得分[排骨龙]。
    • (E_x) 表示 (1)(x) 排列得分的期望。
    • 对于 1,2,3...a,a+1,...a+b 给前 (a) 个染上白色,后 (b) 个染上黑色,那么 (E_{a+b}=E_{a}E_{b}*(可达鸭))
    • 可达鸭是啥?
    • 是 “B 的 白和黑的逆序对个数 次幂”
    • 为什么可以乘?
    • 多个随机变量独立时,可以乘。
    • 再一想,可达鸭不就是我们要求的东西吗?因此 (排骨龙=frac{f_{a+b}}{f_a*f_b})

    E. All men are brothers

    solved by rdc, 64 -2

    题意 有多个加边操作,求两两不属于同一连通块的四元组。

    做法 考虑加一条边,有多少种方案解体,解体的方案,设加的边两端分别在集合 (A,B) 那么解体的方案恰有一个点在 (A) 中,一个点在 (B) 中,剩下的两个点分立与不同连通块。并查集维护联通块 size 即可

    解体 维护 size 写错了,WA 了两发


    I. KM and M

    upsolved

    题意 计算 (sum_{k=1}^{n}[(km)&m])

    做法

    • 按位考虑贡献。
    • (B) 位对答案的贡献为,满足 (frac{km}{2^B}) 为奇数的 (k) 的个数,乘上,(2^B).
    • ([sum_{k=1}^{n}km\%2^{B+1}]-[sum_{k=1}^{n} km\%2^B]) 就等于上面那个东西,类欧经典问题。
    • 为什么呢?画直线 (y=2^B,2*2^B,3*2^B,4*2^B.......),考虑取模的几何意义。

    复盘

    • 比赛时施展了昨天多校学到的按前缀分类,预处理后缀。
  • 相关阅读:
    C# Server.Transfer传值方式
    asp.net验证码生成
    pop协议指令
    Url Rewriting后的问题
    c# 一个通过oledb读取excel,csv的类
    jquery选择器全解
    覆盖与重载(override/overload) [C#]
    ASP.NET内置对象
    web开发敏捷之道应用rails进行敏捷web开发【读书笔记2】
    win7自动壁纸切换小工具AutoDesk一:初始化托盘
  • 原文地址:https://www.cnblogs.com/FST-stay-night/p/11360225.html
Copyright © 2011-2022 走看看