$n \leq 5000$的数列,$k \leq 1e9$次操作,每次随机选一个数-1,然后把其他数的积加入答案。问最后答案期望,$mod \ \ 1e9+7$。

略微观察可以发现答案=初始数列的积-最终数列的积。所以就是求最终数列的积的期望。证明的话,可以归纳法,

$新答案=(k次操作后的数列-(k+1)次操作后的数列)+(原数列-k次操作后的数列)$

$=原数列-(k+1)次操作后的数列$。

接下来就求最终数列的积了。$b_i$--第$i$个数减少的次数,这里要枚举所有$b_i$,然后$E$表示最终数列积的期望,$E=\sum_{\sum_{i=1}^nb_i=k}\frac{\frac{k!}{\prod_{1}^{n}b_i}}{n^k}\prod_{i=1}^{n}(a_i-b_i)=\frac{k!}{n^k} \sum_{\sum_{i=1}^n b_i=k} \frac{a_i-b_i}{b_i!}$

$\sum b_i=k$的条件容易让人联想到:多个多项式乘积的第$k$项系数。那就把$\frac{k!}{n^k}$先不理了,转生成函数:

$F(x)=\prod_{i=1}^{n}\sum_{j=0}^{\infty}\frac{a_i-j}{j!}x^j$

$=\prod_{i=1}^n(\sum_{j=0}^{\infty}\frac{a_i*x^j}{j!}-\sum_{j=1}^{\infty}\frac{x*x^{j-1}}{(j-1)!})$

$=\prod_{i=1}^{n}(a_i-x)e^x$

$=e^{nx}\prod_{i=1}^{n}(a_i-x)$

非常好。现求它的第$k$项系数。后面那坨由于$n$不大直接$n^2$dp一下即可。($f(i,j)$--前$i$个括号里有$j$个选了常数项)设其第$i$项系数$c_i$。

前面$e^{nx}$直接泰勒展开。

然后两个多项式相乘,就得到$_{[x^k]}F(x)=\sum_{i=0}^{n}c_i\frac{n^{k-i}}{(k-i)!}$

然后再乘上之前丢掉的$\frac{k!}{n^k}$,得到$E=\sum_{i=0}^{n}c_i\frac{k^{\underline{i}}}{n^i}$。搞定。

*Codeforces891E. Lust的更多相关文章

  1. 【CF891E】Lust 生成函数

    [CF891E]Lust 题意:给你一个长度为n的序列$a_i$,对这个序列进行k次操作,每次随机选择一个1到n的数x,令$res+=\prod\limits_{i!=x}a_i$(一开始res=0) ...

  2. Seven Deadly Sins: Gluttony, Greed, Sloth, Wrath, Pride, Lust, and Envy.

    Seven Deadly Sins: Gluttony, Greed, Sloth, Wrath, Pride, Lust, and Envy.七宗罪:暴食.贪婪.懒惰.暴怒.傲慢.色欲.妒忌.

  3. CF891E Lust

    传送门 题目大意 你有 \(n\) 个数 \(a_1,a_2...a_n\) 要进行 \(k\) 次操作 每次随机选择一个数 \(x\),使得答案加上 \(\prod_{i \neq x}a_i\) ...

  4. CF891E Lust 生成函数

    传送门 设在某一次操作之后的\(a\)数组变为了\(a'\)数组,那么\(\prod\limits_{i \neq x} a_i = \prod a_i - \prod a_i'\).那么就不难发现我 ...

  5. Codeforces 891E - Lust(生成函数)

    Codeforces 题面传送门 & 洛谷题面传送门 NaCly_Fish:<简单>的生成函数题 然鹅我连第一步都没 observe 出来 首先注意到如果我们按题意模拟那肯定是不方 ...

  6. Bible

    001 Love your neighbor as yourself.         要爱人如己.--<旧·利>19:18      002 Resentment kills a foo ...

  7. Base64编码简介

      基本概念   Base64这个术语最初是在“MIME内容传输编码规范”中提出的.Base64不是一种加密算法,虽然编码后的字符串看起来有点加密的赶脚.它实际上是一种“二进制到文本”的编码方法,它能 ...

  8. nullcon HackIM 2016 -- Programming Question 2

    Your simple good Deeds can save you but your GREED can kill you. This has happened before. This gree ...

  9. BZOJ1695 : [Usaco2007 Demo]Walk the Talk

    观察单词表可以发现: 对于长度为3的单词,前两个字母相同的单词不超过7个 对于长度为4的单词,前两个字母相同的单词不超过35个 于是首先$O(26*26*nm)$预处理出 s1[x][i][j]表示( ...

随机推荐

  1. ftl-server静态资源服务器

    ftl-server 是一前端开发工具,支持解析freemarker模板,模拟后端接口,反向代理等功能. 特性 解析freemarker模板 静态资源服务 mock请求 代理请求 livereload ...

  2. 五、Pandas玩转数据

    Series的简单运算 import numpy as np import pandas as pd s1=pd.Series([1,2,3],index=['A','B','C']) print(s ...

  3. selenium--Xpath定位

    前戏 前面介绍过了七种定位方式,今天来介绍最后一种,也是最强大,本人最常用的定位方式xpath Xpath 即为 xml 路径语言,它是一种用来确定 xml 文档中某部分位置的语言.Xpath 基于 ...

  4. Bootstrap 网页乱码

    问题:今天早上在实践bootstrap的时候,用EditPlus写代码,标签中包含了中文.在浏览器解析的时候中文部分生成的乱码.但是网页部分已经声明了使用utf-8的编码方式. 解决:网页字体正常显示 ...

  5. ios 点餐系统

    这个程序的主要界面就是一个TabBarController.总共三个标签,第一个是所有的可点的菜,第二个是已点的菜,第三个是可以留言或者查看所有留言. 下面是第一个页面: 右上角的i按钮是添加新菜,每 ...

  6. 使用 HTML5 Geolocation 构建基于地理位置的 Web 应用学习网站分享

    HTML5 中的新功能 HTML5 是最新一代的 HTML 规范,是 W3C 与 WHATWG 合作的结果,目前仍外于开发中.自从上一代 HTML4,Web 世界已经发生了巨大的变化,HTML5 的到 ...

  7. python爬虫(爬取段子)

    python爬取段子 爬取某个网页的段子 第一步 不管三七二十一我们先导入模块 #http://baijiahao.baidu.com/s?id=1598724756013298998&wfr ...

  8. if else elif 用法和区别

    1.If语句:“如果条件为真,执行子句中的代码."始终包含以下部分: if关键字: 条件(即求值为True或False的表达式): 冒号: 在下一行开始,缩进的代码块(称为if子句) 例如: ...

  9. [转]automaticallyAdjustsScrollViewInsets(个人认为iOS7中略坑爹的属性)

    @当我们在一个UIViewController中同时创建2个tableView的时候,如果把它们的frame中的Y坐标设置为一样,你可能会发现它们的位置并没有达到你想要的结果.比如第一tableVie ...

  10. LeetCode(98) Validate Binary Search Tree

    题目 Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined ...