[LGP4707] 重返现世
世界是物质的,物质是运动的,运动是有规律的,规律是可以被认识的。
关于期望意义下min-max容斥,我们认为每个事件的时间来认识事件,max/min S表示集合S中所有时间最后/最前出现的事件,E(max/min S)表示事件max/min S首次发生的期望时间。这样,仿照普通min-max容斥的推导可得
\]
同理的kth-max-min也成立
\]
而对于\(E(\min S)\)我们有
E(\max_k S)=\sum_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k-1}\frac1{\sum_{e\in T}P(e)}
\]
赞美太阳,重返现世。
我们求的是收集到任意k种,所以
k\Leftarrow n-k+1
\]
考虑由前\(i\)种时间构成的集合\(S_i\),计算其\(E(\max_k S_i)\)时记\(f[i,j,k]\)为满足\(T\in S_i, \sum_{e\in T}P(e)=j\)的系数和,即
\]
显然最终答案
\]
由于题目规定\(P(x)=\frac{P_x}m\),则\(E(x)=\frac{m}{P_x}\),最后将\(m\)单独乘入即可。
再考虑dp的转移,决策是事件\(i\)的加入对系数的影响
=f[i-1,j,k]+\sum_{... i\in T} (-1)^{|T-k|}(\binom{|T|-2}{k-1}+\binom{|T|-2}{k-2})\\
=f[i-1,j,k]+\sum_{... i\in T} (-1)^{|T-k|}\binom{|T|-2}{k-1}+\sum_{... i\in T} (-1)^{|T-k|}\binom{|T|-2}{k-2}\\
=f[i-1,j,k]-f[i-1,j-P_i,k]+f[i-1,j-P_i,k-1]\\
\]
于是暴力做就行了。
#include <bits/stdc++.h>
#define IL inline
#define ll long long
using namespace std;
const int N=1e3+10;
const int M=1e4+10;
const int mod=998244353;
int n,K,m,p[N],s[N];
int ans,inv[M],f[2][M][12];
int main() {
	scanf("%d%d%d",&n,&K,&m); K=n-K+1;
	for(int i=1; i<=n; ++i) {
		scanf("%d",p+i);
		s[i]=s[i-1]+p[i];
	}
	f[0][0][0]=1;
	for(int i=1; i<=n; ++i) {
		memset(f[i&1],0,sizeof f[0]);
		auto F=f[i&1],G=f[(i&1)^1];
		F[0][0]=1;
		for(int j=1; j<p[i]; ++j)
		for(int k=1; k<=K; ++k)
			F[j][k]=G[j][k];
		for(int j=p[i]; j<=s[i]; ++j)
		for(int k=1; k<=K; ++k)
			F[j][k]=(G[j][k]+(mod-G[j-p[i]][k]+G[j-p[i]][k-1])%mod)%mod;
	}
	inv[1]=1;
	for(int i=1; i<=m; ++i) {
		if(i>1) inv[i]=(ll)inv[mod%i]*(mod-mod/i)%mod;
		ans=(ans+(ll)f[n&1][i][K]*inv[i]%mod*m%mod)%mod;
	}
	printf("%d\n",ans);
	return 0;
}
												
											[LGP4707] 重返现世的更多相关文章
- 【Luogu4707】重返现世(min-max容斥)
		
[Luogu4707]重返现世(min-max容斥) 题面 洛谷 求全集的\(k-max\)的期望 题解 \(min-max\)容斥的证明不难,只需要把所有元素排序之后考虑组合数的贡献,容斥系数先设出 ...
 - 洛谷 P4707 重返现世
		
洛谷 P4707 重返现世 k-minimax容斥 有这一个式子:\(E(\max_k(S))=\sum_{T\subseteq S}(-1)^{|T|-k}C_{|T|-1}^{k-1}\min(T ...
 - Luogu P4707 重返现世
		
题目描述 为了打开返回现世的大门,Yopilla 需要制作开启大门的钥匙.Yopilla 所在的迷失大陆有 \(n\) 种原料,只需要集齐任意 \(k\) 种,就可以开始制作. Yopilla 来到了 ...
 - [洛谷P4707] 重返现世
		
Description 为了打开返回现世的大门,\(Yopilla\) 需要制作开启大门的钥匙.\(Yopilla\) 所在的迷失大陆有 \(n\) 种原料,只需要集齐任意 \(k\) 种,就可以开始 ...
 - luoguP4707 重返现世
		
收集邮票加强版,每个邮票不是等概率获得的了. 而且是获得K个,如果把一个全集S集合找出其获得时间集合(显然获得时间两两不同)的话,那么就是第n-k+1大的期望! %%%Sooke min-max容斥扩 ...
 - 洛谷P4707 重返现世 [DP,min-max容斥]
		
传送门 前置知识 做这题前,您需要认识这个式子: \[ kthmax(S)=\sum_{\varnothing\neq T\subseteq S}{|T|-1\choose k-1} (-1)^{|T ...
 - 洛谷 P4707 【重返现世】
		
题目分析 题目就是求第K种原料的出现期望时间. 考虑广义min-max容斥. \(\text{kthmax}(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-k}\bin ...
 - 【题解】洛谷P4707重返现世
		
在跨年的晚上玩手机被妈妈骂了赶来写题……呜呜呜……但是A题了还是很开心啦,起码没有把去年的题目留到明年去做ヾ(◍°∇°◍)ノ゙也祝大家2019快乐! 这题显然的 kth min-max 容斥就不说了, ...
 - 洛谷P4707 重返现世(扩展MinMax容斥+dp)
		
传送门 我永远讨厌\(dp.jpg\) 前置姿势 扩展\(Min-Max\)容斥 题解 看纳尔博客去→_→ 咱现在还没搞懂为啥初值要设为\(-1\)-- //minamoto #include< ...
 
随机推荐
- jQuery属性操作之html属性操作
			
jQuery的属性操作, 是对html文档中的属性进行读取.设置和移除操作.比如,attr(). removeAttr(). 1. attr() attr()可以设置属性值或者返回被选元素的属性值 1 ...
 - Java内置锁synchronized的实现原理及应用(三)
			
简述 Java中每个对象都可以用来实现一个同步的锁,这些锁被称为内置锁(Intrinsic Lock)或监视器锁(Monitor Lock). 具体表现形式如下: 1.普通同步方法,锁的是当前实例对象 ...
 - Mybatis源码学习之反射工具(三)
			
简述 MyBatis在进行参数处理.结果映射等操作时,会涉及大量的反射操作.Java中的反射虽然功能强大,但是代码编写起来比较复杂且容易出错,为了简化反射操作的相关代码,MyBatis提供了专门的反射 ...
 - Leetcode题目169.求众数(简单)
			
题目描述: 给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入: [3,2,3] ...
 - DOM操作的性能优化
			
DOM操作的真正问题在于 每次操作都会出发布局的改变.DOM树的修改和渲染. React解决了大面积的DOM操作的性能问题,实现了一个虚拟DOM,即virtual DOM,这个我们一条条讲. 所以关于 ...
 - DataFactory生产手机号码
			
表中的数据类型是CHAR()类型的,才会出现,如右图的“Build a composite field”的这个功能: 固定部分设置 剩余变化部分设置 操作成功 数据库查询的结果
 - 1.分布式配置中心 spring-cloud-config
			
pring Cloud 版本:2.1.0.RELEASE 一.server端 1.maven依赖 <dependency> <groupId>org.springframewo ...
 - spring clound gateway   上传文件,中文文件名乱码解决办法
			
先说解决办法吧: 有三种解决办法 1 ,zuul官方给出了解决方案,使用/zuul开头的请求可以避免中文名乱码以及支持大文件上传 域名是 testgateway.com 接口是 api/image ...
 - Message NNNN not found; No message file for product=network, facility=TNS
			
Message NNNN not found; No message file for product=network, facility=TNS Table of Contents 1. 错误信息 ...
 - mybatis多对多映射【学生与课程】
			
1)如图 2)创建students.sql和courses.sql和middles.sql drop table middles; drop table students; drop table co ...