CF891E Lust(推式子,EGF)

Posted 吃花椒的妙酱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF891E Lust(推式子,EGF)相关的知识,希望对你有一定的参考价值。

  题目大意:n个数,进行k次操作,每次对ax进行减1操作,然后对答案加上除ax外所有数的乘积,求期望,对1e9+7取模。
思路:
  每次操作为 r e s + = ∏ i ! = x a i res+=\\prod_i!=xa_i res+=i!=xai等价于 + = ∏ a i − ( a x − 1 ) ∏ i ! = x a i +=\\proda_i-(a_x-1)\\prod_i!=xa_i +=ai(ax1)i!=xai
然后发现,进行若干次操作后,结果是 ∏ a i − ∏ ( a i − x i ) 的 形 式 \\prodai-\\prod(a_i-x_i)的形式 ai(aixi),其中xi表示ai被减一的次数(由上面等价式,得若干次操作±可以消掉)
  所求的期望 = ∏ a i − ∏ ( a i − x i ) \\prodai-\\prod(a_i-x_i) ai(aixi)的期望,即求后面一项的期望
   ∏ i = 1 n ( a i − x i ) ( 其 中 ∑ x i = k ) \\prod_i=1^n(a_i-x_i)(其中\\sumxi=k) i=1n(aixi)(xi=k),相当于k个有序的减一操作给到n个项,其中同个项的减一操作不区分顺序
  上式期望 = k ! x 1 ! x 2 ! . . x n ! ∗ [ x 1 + x 2 + . . x n = k ] ∏ ( a i − x i ) n k = k ! ∗ [ x 1 + x 2 + . . x n = k ] ∏ ( a i − x i x i ! ) n k \\frac\\frack!x_1!x_2!..x_n! * [x_1+x_2+..x_n=k]\\prod(a_i-x_i)n^k=\\frack! * [x_1+x_2+..x_n=k]\\prod(\\fraca_i-x_ix_i!)n^k nkx1!x2!..xn!k![x1+x2+..xn=k](aixi)=nkk![x1+x2+..xn=k](xi!aixi)
设生成函数 F i ( x ) = ∑ j > = 0 a i − j j ! x j = a i ∑ j > = 0 1 j ! x j − x ∑ 1 j ! x j = ( a i − x ) e x p ( x ) F_i(x) = \\sum_j>=0\\fraca_i-jj!x^j = a_i\\sum_j>=0\\frac1j!x^j - x\\sum\\frac1j!x^j = (a_i-x)exp(x) Fi(x)=j>=0j!aijxj=aij>=0j!1xjxj!1xj=(aix)exp(x)
分子部分化简一下 [ x 1 + x 2 + . . x n = k ] ∏ ( a i − x i x i ! ) = [ x k ] ∏ i = 1 n F i = [ x k ] e x p ( n x ) ∏ i = 1 n ( a i − x ) [x_1+x_2+..x_n=k]\\prod(\\fraca_i-x_ix_i!) = [x^k]\\prod_i=1^nF_i = [x^k]exp(nx)\\prod_i=1^n(a_i-x) [x1+x2+..xn=k](xi!aixi)=[xk]i=1nFi=[xk]exp(nx)i=1n(aix)
我们可以枚举后半部分x的次数i(n方算一下),则exp的次数为k-i,由高中知识易得exp(nx)次数为k-i的项的系数为 n k − i ( k − i ) ! \\fracn^k-i(k-i)! (ki)!以上是关于CF891E Lust(推式子,EGF)的主要内容,如果未能解决你的问题,请参考以下文章

CF891ELust 生成函数

bzoj 3456 城市规划

AtCoder Beginner Contest 241EX(推式子)

AtCoder Beginner Contest 241EX(推式子)

CTS2019珍珠

CF下分记(