Description

洛谷题目链接:https://www.luogu.org/problemnew/show/P4707

Solution

前置广义\(\min-\max\)容斥,不懂的可以看看我的min-max容斥学习笔记。

那么\(\min\{S\}\)显然是比较好求的,具体的:
\[ \min\{S\}=\frac{m}{\sum_{i\in S}p_i} \]
但是注意到\(n\)的范围很大,显然不能用常规做法。

注意到\(k\)很小,可以考虑\(dp\)。

设\(f_{x,s,k}\)表示当前\(dp\)到前\(x\)个了,选出来的要满足\(\sum p=s\),且为第\(k\)大的系数,因为可以注意到后面的\(\min\)都是一样的,我们这里在\(dp\)当前的\(\min\)被算了多少次,那么这个\(dp\)状态的意义就是前面那一坨系数,即:
\[ \sum_{T}(-1)^{|T|-k}\binom{|T|-1}{k-1} \]
并且满足了一堆的条件。

考虑怎么转移这个\(dp\),这里显然是要分情况讨论:

如果不选\(x\),那么转移就很简单了,直接是\(f_{x,s,k}=f_{x-1,s,k}\)。

否则就有点复杂了,我们先把式子写出来:
\[ f_{x,s,k}=\sum_{T}(-1)^{|T|-k}\binom{|T|-1}{k-1}\\ \]
然后这里的\(\sum p=s\),由于这里硬点\(x\)要选,我们不妨考虑剩下的部分是啥样的:
\[ f_{x,s,k}=\sum_{T}(-1)^{|T|+1-k}\binom{|T|}{k-1} \]
注意这里枚举的\(T\)是不含\(x\)的,且\(\sum p=s-p_x\),我们尝试着利用组合数的性质把它展开:
\[ \begin{align} f_{x,s,k}&=\sum_{T}(-1)^{|T|+1-k}(\binom{|T|-1}{k-1}+\binom{|T|-1}{k-2})\\ &=-\sum_T(-1)^{|T|-k}\binom{|T|-1}{k-1}+\sum_T(-1)^{|T|-(k-1)}\binom{|T|-1}{(k-1)-1}\\ &=-f_{x-1,s-p_x,k}+f_{x-1,s-p_x,k-1} \end{align} \]
那么我们就可以得到总的转移方程:
\[ f_{x,s,k}=f_{x-1,s,k}-f_{x-1,s-p_x,k}+f_{x-1,s-p_x,k-1} \]
边界条件就直接\(f_{x,0,0}=1\)就好了。

注意这里空间复杂度会爆掉,要把\(dp\)的第一维滚掉就好了。

代码真的很好写...

#include<bits/stdc++.h>
using namespace std;void read(int &x) {x=0;int f=1;char ch=getchar();for(;!isdigit(ch);ch=getchar()) if(ch=='-') f=-f;for(;isdigit(ch);ch=getchar()) x=x*10+ch-'0';x*=f;
}void print(int x) {if(x<0) putchar('-'),x=-x;if(!x) return ;print(x/10),putchar(x%10+48);
}
void write(int x) {if(!x) putchar('0');else print(x);putchar('\n');}const int maxn = 2e5+10;
const int mod = 998244353;int qpow(int a,int x) {int res=1;for(;x;x>>=1,a=1ll*a*a%mod) if(x&1) res=1ll*res*a%mod;return res;
}int n,K,m,p[maxn],f[2][10050][12];int main() {read(n),read(K),read(m);K=n-K+1;for(int i=1;i<=n;i++) read(p[i]);f[0][0][0]=1;for(int t=1;t<=n;t++) {int i=t&1;for(int j=0;j<p[t];j++)for(int k=0;k<=K;k++)f[i][j][k]=f[i^1][j][k];f[i][0][0]=1;for(int j=p[t];j<=m;j++)for(int k=1;k<=K;k++)f[i][j][k]=((f[i^1][j][k]+f[i^1][j-p[t]][k-1])%mod-f[i^1][j-p[t]][k])%mod;}int ans=0;for(int i=1;i<=m;i++) ans=(ans+1ll*f[n&1][i][K]*m%mod*qpow(i,mod-2)%mod)%mod;write((ans+mod)%mod);return 0;
}

转载于:https://www.cnblogs.com/hbyer/p/10521485.html

[luogu P4707] 重返现世相关推荐

  1. Luogu P4707 重返现世 (拓展Min-Max容斥、DP)

    题目链接 https://www.luogu.org/problem/P4707 题解 最近被神仙题八连爆了-- 首先Min-Max容斥肯定都能想到,问题是这题要用一个扩展版的--Kth Min-Ma ...

  2. Luogu P4707 重返现世

    题目描述 为了打开返回现世的大门,Yopilla 需要制作开启大门的钥匙.Yopilla 所在的迷失大陆有 \(n\) 种原料,只需要集齐任意 \(k\) 种,就可以开始制作. Yopilla 来到了 ...

  3. 【题解】P4707 重返现世

    [题解]P4707 重返现世 P4707 重返现世 期望下Min-Max容斥DP E(kthmax(T))=∑T⊂S(−1)∣T∣−kC∣T∣−1k−1E(min⁡(S))E(kthmax(T)) = ...

  4. 洛谷 P4707 重返现世

    洛谷 P4707 重返现世 k-minimax容斥 有这一个式子:\(E(\max_k(S))=\sum_{T\subseteq S}(-1)^{|T|-k}C_{|T|-1}^{k-1}\min(T ...

  5. P4707 重返现世 扩展 MinMax 容斥+DP

    题目传送门 https://www.luogu.org/problem/P4707 题解 很容易想到这是一个 MinMax 容斥的题目. 设每一个物品被收集的时间为 \(t_i\),那么集齐 \(k\ ...

  6. [洛谷P4707] 重返现世

    Description 为了打开返回现世的大门,\(Yopilla\) 需要制作开启大门的钥匙.\(Yopilla\) 所在的迷失大陆有 \(n\) 种原料,只需要集齐任意 \(k\) 种,就可以开始 ...

  7. [洛谷P4707]重返现世

    Description 有n种物品,每次操作你有pimpi\over mmpi​的概率获得第i种物品 求你获得k种物品的期望操作数. n<=1000,n-k<=10,m<=10000 ...

  8. 洛谷P4707 重返现世(扩展MinMax容斥+dp)

    传送门 我永远讨厌\(dp.jpg\) 前置姿势 扩展\(Min-Max\)容斥 题解 看纳尔博客去→_→ 咱现在还没搞懂为啥初值要设为\(-1\)-- //minamoto #include< ...

  9. [LGP4707] 重返现世

    世界是物质的,物质是运动的,运动是有规律的,规律是可以被认识的. 关于期望意义下min-max容斥,我们认为每个事件的时间来认识事件,max/min S表示集合S中所有时间最后/最前出现的事件,E(m ...

最新文章

  1. 起售价近5500,嘲讽了iPhone X的华为Mate 10却没用上人脸识别
  2. 2021-02-23 如何用简单易懂的例子解释条件随机场(CRF)模型?它和HMM有什么区别?从HMM、MEMM、CRF某牛自己总结的
  3. 好的 blog 整理
  4. UVa563 - Crimewave
  5. 面试:一个 Java 字符串到底有多少个字符?
  6. Reactor:深入理解reactor core
  7. LeetCode 02.两数相加
  8. Mysql语句与应用
  9. 视频:PNAS报道纤维化扩展中“旁张力信号”介导的细胞间机械通讯
  10. CHARINDEX 连同 SUBSTRING 对字符串删除处理...
  11. Tensorflow搭建GAN网络
  12. ROS系列书籍--机械工业出版社
  13. 解决TIM版, 精简QQ版本无法修改个人文件夹位置win10,win11通用
  14. 你要知道的内存条知识
  15. 【Linux】Linux常识28问
  16. Python为什么这些年在编程语言排行榜上一直上升?告诉你11个原因
  17. 摸着石头过河__投石问路
  18. 电脑连接wifi总是断 手机正常 解决方案
  19. java随便打数求质数_java随便输入一个数判断是不是质数
  20. 一男的为媳妇写的、帅死了

热门文章

  1. 【数分书单】分析思维《一本小小的蓝色逻辑书》第三章小结
  2. iOS开发中,PNG图片的各种压缩软件,以及压缩率对比
  3. 清华美女学霸的面试笔记,超详细
  4. win10照片打印闪退
  5. 糖尿病遗传风险检测挑战赛 -- 实战记录 (一)
  6. ESXi-6.7.0-20191204001-standard-RTL8111.iso集成第三方网卡驱动
  7. H3CIE机试C套需求
  8. PERT:一种基于乱序语言模型的预训练模型
  9. pythoncharm中文版_Pycharm2020中文版下载
  10. 兰光bl2000_蓝光 bl2000-stb-v2电梯安全回路图纸