zoukankan      html  css  js  c++  java
  • CF1528F

    题意

    对于一个长度为(n)的正整数序列({a_i}_{i=1}^n),定义其合法当且仅当存在一个长度为(n)的非负整数序列({b_i}_{i=1}^n),使得({a_i+b_i}_{i=1}^n)构成一个(n)阶排列。
    对于任意合法的序列({a_i}_{i=1}^n),一个长度为(K)的序列({c_i}_{i=1}^K),定义其合法当且仅当:(forall iin[1,K]),满足(a_{c_i}=a_{c_1})
    (nle 10^9,Kle 10^5)

    做法

    引理:序列({a_i}_{i=1}^n)合法当且仅当,有(n)个车位,第(i)个人想停的位置为(a_i),若已经存在车了,则走到下一个空位置。

    容易证明。

    这是经典的parking function问题,方法是构造一个环,有(n+1)个位置,令(a_iin[1,n+1]),这样总方案数为((n+1)^n),合法的概率为(frac{1}{n+1}),故合法方案数为((n+1)^{n-1})

    这里,(a_{c_1})是多少并不重要(在答案基础上乘上(n+1),由于最后还要除(n+1),所以根本不需要管),枚举其个数,有:

    [ans=sumlimits_{i=0}^n {nchoose i}i^Kn^{n-i} ]

    这是个经典问题,容易化简得到:

    [sumlimits_{j=0}^K egin {Bmatrix} K \ jend {Bmatrix}j!{nchoose j}(n+1)^{n-j} ]

    求一行的斯特林数容易做到(O(Klog K))

    故总复杂度为(O(Klog K))

  • 相关阅读:
    AWS EC2服务器的HTTPS负载均衡器配置过程
    大数据技术Hadoop笔试题
    网上找的hadoop面试题目及答案
    360全景图three.js
    360全景图three.js与Photo-Sphere-Viewer-master 3D全景浏览开发
    @font-face 字体
    scss语法
    6.事件
    5.回调函数
    4.querystring属性
  • 原文地址:https://www.cnblogs.com/Grice/p/14816501.html
Copyright © 2011-2022 走看看