Luogu P4707 重返现世
题目描述
为了打开返回现世的大门,Yopilla 需要制作开启大门的钥匙。Yopilla 所在的迷失大陆有 \(n\) 种原料,只需要集齐任意 \(k\) 种,就可以开始制作。
Yopilla 来到了迷失大陆的核心地域。每个单位时间,这片地域就会随机生成一种原料。每种原料被生成的概率是不同的,第 ii种原料被生成的概率是$ \frac{p_i}{m} $。如果 Yopilla 没有这种原料,那么就可以进行收集。
Yopilla 急于知道,他收集到任意 kk 种原料的期望时间,答案对 \(998244353\) 取模。
输入输出格式
输入格式:
第一行三个数 \(n, k, m\)。
第二行 nn 个数 \(p_1, p_2, ..., p_np1,p2,...,pn\) 。
输出格式:
输出一行。
输入输出样例
输入样例#1:
复制
3 3 3
1 1 1
输出样例#1:
复制
499122182
说明
对于 \(10 \%\) 的数据,\(p_1 = p_2 = ... = p_m\) 。
对于另外 \(10 \%\) 的数据,\(k = n\)。
对于 \(70 \%\) 的数据,\(n \le 100\)。
对于 \(100 \%\)的数据,\(1 \le n \le 1000\),\(1 \le k \le n, \lvert n - k \rvert \le 10,0 \le p_i \le m, \sum p = m, 1 \le m \le 100000\)
min-max反演的推广:kth min-max反演。
下面的证明转载自这位dalao的博客:https://blog.csdn.net/ez_2016gdgzoi471/article/details/81416333。
我们考虑构造一个容斥系数\(f(x)\),使得
\]
$考虑第x+1大的元素会被统计到的贡献。 \(
\)这个贡献为\sum_{i=0}{x}C_{x}{i}f(i+1) \(
上面这个式子就是说前\)x\(大的元素选或不选都无所谓,然后必选第\)x+1$大的元素的方案数。
则
\]
二项式反演一下
\]
得到
\]
因此
\]
综上,
=\sum_{T\subseteq S}(-1)^{|T|-k}C_{|T|-1}^{k-1}min(T)
\]
本题就是求第\((n-k+1)\)大的物品的出现的期望值。
我们直接套公式:
\]
显然:\(min(T)=\frac{m}{\displaystyle\sum_{i \in S}p_i}\)。
然而天真的我以为可以直接将这个值DP出来,然后做自闭了。所以遇到这种非线性的求和还是不要乱来...
然后直接贴dalao的题解(逃):https://www.cnblogs.com/Trrui/p/9994668.html
Luogu P4707 重返现世的更多相关文章
- Luogu P4707 重返现世 (拓展Min-Max容斥、DP)
题目链接 https://www.luogu.org/problem/P4707 题解 最近被神仙题八连爆了-- 首先Min-Max容斥肯定都能想到,问题是这题要用一个扩展版的--Kth Min-Ma ...
- 洛谷 P4707 重返现世
洛谷 P4707 重返现世 k-minimax容斥 有这一个式子:\(E(\max_k(S))=\sum_{T\subseteq S}(-1)^{|T|-k}C_{|T|-1}^{k-1}\min(T ...
- P4707 重返现世 扩展 MinMax 容斥+DP
题目传送门 https://www.luogu.org/problem/P4707 题解 很容易想到这是一个 MinMax 容斥的题目. 设每一个物品被收集的时间为 \(t_i\),那么集齐 \(k\ ...
- [洛谷P4707] 重返现世
Description 为了打开返回现世的大门,\(Yopilla\) 需要制作开启大门的钥匙.\(Yopilla\) 所在的迷失大陆有 \(n\) 种原料,只需要集齐任意 \(k\) 种,就可以开始 ...
- 洛谷P4707 重返现世 [DP,min-max容斥]
传送门 前置知识 做这题前,您需要认识这个式子: \[ kthmax(S)=\sum_{\varnothing\neq T\subseteq S}{|T|-1\choose k-1} (-1)^{|T ...
- 【题解】洛谷P4707重返现世
在跨年的晚上玩手机被妈妈骂了赶来写题……呜呜呜……但是A题了还是很开心啦,起码没有把去年的题目留到明年去做ヾ(◍°∇°◍)ノ゙也祝大家2019快乐! 这题显然的 kth min-max 容斥就不说了, ...
- 洛谷P4707 重返现世(扩展MinMax容斥+dp)
传送门 我永远讨厌\(dp.jpg\) 前置姿势 扩展\(Min-Max\)容斥 题解 看纳尔博客去→_→ 咱现在还没搞懂为啥初值要设为\(-1\)-- //minamoto #include< ...
- 洛谷 P4707 - 重返现世(扩展 Min-Max 容斥+背包)
题面传送门 首先看到这种求形如 \(E(\max(T))\) 的期望题,可以套路地想到 Min-Max 容斥 \(\max(S)=\sum\limits_{T\subseteq S}(-1)^{|T| ...
- 【Luogu4707】重返现世(min-max容斥)
[Luogu4707]重返现世(min-max容斥) 题面 洛谷 求全集的\(k-max\)的期望 题解 \(min-max\)容斥的证明不难,只需要把所有元素排序之后考虑组合数的贡献,容斥系数先设出 ...
随机推荐
- SaltStack 安装、简单配置和远程执行
1:安装 修改hosts文件,必须保证Master端和Minion端都有完整的FQDN名示例如下: vim /etc/hosts 192.168.31.101 node2 node2.crazylin ...
- 基于xlua和mvvm的unity框架
1.框架简介 这两天在Github上发现了xlua的作者车雄生前辈开源的一个框架—XUUI,于是下载下来学习了一下.XUUI基于xlua,又借鉴了mvvm的设计概念.xlua是目前很火的unity热更 ...
- windows环境下pycharm如何设置Linux编码
最近写代码一直在windows环境下,写完之后再传到Linux端就会出现代码格式错乱. 解决办法: 在windows端的pycharm代码格式设置为unix and os及可以解决这个问题. 如果你要 ...
- matlab的解方程的例子
syms x y z=exp(2*x+y)+cos(3*x*y)-exp(1)-1; zz=subs(z,x,1) solve(zz)
- 牛客网剑指offer 二维数组的查找
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 解题思路 该题有很多种 ...
- 设计模式之备忘录模式(Memento )
当我们在实际应用中需要提供撤销机制,当一个对象可能需要再后续操作中恢复其内部状态时,就需要使用备忘录模式.其本质就是对象的序列化和反序列化的过程,支持回滚操作. 作用 在不破坏封装性的前提下,捕获一个 ...
- 微信跳一跳Python辅助无需配置一键操作
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8350329.html 邮箱:moyi@moyib ...
- 给OkHttp Client添加socks代理
Okhttp的使用没有httpClient广泛,网上关于Okhttp设置代理的方法很少,这篇文章完整介绍了需要注意的方方面面. 上一篇博客中介绍了socks代理的入口是创建java.net.Socke ...
- thinkphp链接多个数据库时怎么调用M方法?
老项目tp3.1.3,有N个数据库,thinkphp好久没用了,不知道怎么用M方法了,代码测验成功! 数据库名称: 2.直接上代码 $custom = M('base','branch_','shop ...
- 如何判断页面是pc端还是移动端,进入不同的页面
vue判断是pc端还是移动端分别进入不同的页面 判断移动端代码如下: function IsPC(){ var userAgentInfo = navigator.userAgent; var Age ...