题目

题目描述
吧主 H a n d I n D e v i l \sf HandInDevil HandInDevil 有很多资源,他每天会随机地发送一些资源到群里。不妨设他每天发送资源的数量是 [ 1 , A ] [1,A] [1,A] 内均匀随机的正整数。

现在已知 H a n d I n D e v i l \sf HandInDevil HandInDevil 会在接下来的 n n n 天内发送若干资源(每天发送的资源数量遵循上面的概率分布)。如果你在某一天登入群聊,就会下载 H a n d I n D e v i l \sf HandInDevil HandInDevil 今天发送的资源(之前的都过期了);如果下载过后,所有已下载的资源数量严格大于 m m m,你就会进入贤者模式,决定再也不登入群聊了。由于你今天一句话都不会发,所以这一天不算作登入了群聊。

现在,假设你选择了最优的方案(选择哪几天登入群聊)使得自己登入群聊的天数最多,请问你登入群聊的天数的期望是多少?

数据范围与提示
n ⩽ 100 n\leqslant 100 n⩽100 但是 m , A ⩽ 1000 m,A\leqslant 1000 m,A⩽1000 。

思路

设第 i i i 天的资源数量是 a i a_i ai​ 。显然最优方案是选择 a i a_i ai​ 最小的若干个。

考虑计算贡献,对于权值为 v v v 的所有 a i a_i ai​,第 k k k 个会被选择多少次?显然还需要枚举 a i = v a_i=v ai​=v 的真实数量 c c c,然后方案数是
∑ i = 1 n − 1 ∑ j ⩽ m − k v ( n i ) ⋅ ( n − i c ) ⋅ ( A − v ) n − i − c ⋅ g ( i , j , v ) \sum_{i=1}^{n-1}\sum_{j\leqslant m-kv}{n\choose i}\cdot{n-i\choose c}\cdot (A-v)^{n-i-c}\cdot g(i,j,v) i=1∑n−1​j⩽m−kv∑​(in​)⋅(cn−i​)⋅(A−v)n−i−c⋅g(i,j,v)
这个神秘的 g g g 是什么?其实就是考虑 a i < v a_i<v ai​<v 的值的选择情况。 g ( i , j , v ) g(i,j,v) g(i,j,v) 为,选择小于 v v v 的值填满 i i i 个位置,总和为 j j j 的方案数。那么这一切都得到了很好的解释。

问题是 g ( i , j , v ) g(i,j,v) g(i,j,v) 怎么算?暴力背包?其实也还不错,因为权值为 v v v 时,最多选择 ⌊ m v ⌋ \lfloor{m\over v}\rfloor ⌊vm​⌋ 个,所以项数是 O ( m ln ⁡ m ) \mathcal O(m\ln m) O(mlnm) 的,总复杂度是 O ( n m 2 ln ⁡ m ) \mathcal O(nm^2\ln m) O(nm2lnm) 的。而且事实上是 min ⁡ ( n , ⌊ m v ⌋ ) \min(n,\lfloor{m\over v}\rfloor) min(n,⌊vm​⌋),背包的常数又很小(肯定是小于 1 1 1 的,因为加起来不超过 m m m 的数对并不是 m 2 m^2 m2 个),所以已经足已通过了……

题外话:那么我为什么只拿了暴力的 20 p t s 20\rm pts 20pts 呢?因为我 忘了取模,太下饭了……

怎么优化呢?其实容斥就可以了,非常神奇!包括这道题也是如此,暴力容斥的复杂度竟然更低……

用容斥计算 g ( i , j , v ) g(i,j,v) g(i,j,v),枚举有 p p p 个值是不小于 v v v 的,那么有
g ( i , j , v ) = ∑ p ⩾ 0 ( − 1 ) p ⋅ ( j − p ( v − 1 ) − 1 i − 1 ) ⋅ ( i p ) g(i,j,v)=\sum_{p\geqslant 0}(-1)^p\cdot{j-p(v-1)-1\choose i-1}\cdot{i\choose p} g(i,j,v)=p⩾0∑​(−1)p⋅(i−1j−p(v−1)−1​)⋅(pi​)
为什么是 p ( v − 1 ) p(v-1) p(v−1) 呢?因为要求是正整数,减去 ( v − 1 ) (v-1) (v−1) 后仍然是正整数,就是不小于 v v v 了。

题外话:我写出容斥式,结果把 ( i p ) {i\choose p} (pi​) 这一项写掉了,以为可以递推算,敲了半天发现假了,心态就变成

[ACNOI2021]老吧主了相关推荐

  1. 默纳克主板程序升级软件 支持默纳克新老国标主板刷程序,改协议,支持外呼

    默纳克主板程序升级软件V3.10 支持默纳克新老国标主板刷程序,改协议,支持外呼,轿顶板,MDKE3液晶编号:4730653353249578电梯达人

  2. 老毛桃u盘启动pe重建mbr图文教程

    mbr即我们所说的主引导文件,是电脑启动时用于引导正常进入系统的必备文件,若主引导文件缺失,如何重建mbr 呢?接下来就跟小编共同学习老毛桃u盘启动pe重建mbr的教程. ①将u盘制成老毛桃u盘启动盘 ...

  3. phpmyadmin不允许一个表创建多个主键的解决办法

    在phpmyadmin中执行建表语句 CREATE TABLE `user3` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(2 ...

  4. 利用老毛头启动盘重装win7

    注意:请不要跟着本教程一步一步的做,要先看一遍 1.安装win7安装 安装win7系统所需材料: 老毛桃PE系统 下载地址:http://www.laomaotao.tv/如使用其它PE系统也是一样 ...

  5. 自增主键与UUID的优缺点

    https://blog.csdn.net/rocling/article/details/83116950 自增主键与UUID的优缺点 rocling 2018-10-17 20:15:02  80 ...

  6. mysql 主键自增_还再使用数据库自增主键吗?

    加油站: 在数字经济时代,数据的重要性堪比石油.大数据的四个特点:Volume(数据体量大).Variety(数据类型繁多).Velocity(处理速度快).Value(商业价值高),只要合理利用数据 ...

  7. 老挑毛 win7 linux,图解老挑毛u盘启动工具怎么重装系统

    现在的新型电脑为了追求轻便,所以就将光驱取消了,但是这样一来用户不能通过光驱重装系统了,怎么办?别慌,我们还有一个法宝,那就是u盘,而且U盘装系统更加方便.那要怎么使用老毛桃u盘重装系统呢?接下来,小 ...

  8. 爆款制作获1200w播放,B站UP主+品牌如何迈入2023

    1月13日,bilibili 2022年度百大UP主已经揭开帷幕,今年延续2021年的评审标准,依然从专业性.影响力.创新性三个维度进行评选. 来源-B站 这套评审标准已经实施两年,早期的百大评选上榜 ...

  9. 老毛桃U盘快速安装ghost win7系统图文教程

    转自http://360.laomaotao.pw/jiaocheng/92/upzwin7.html 安装ghost win7需要做好下列准备工作: ① 制作一个装机版老毛桃u盘启动盘: ② 下载一 ...

最新文章

  1. JS删除String里某个字符的方法
  2. CISSP的成长之路(二十一):用户持有凭证
  3. 2003服务器远程桌面连不上解决办法
  4. oracle 几个字段中某个字段大于0其他字段不再进行统计?_如何深入理解MySQL 8.0直方图?...
  5. 民意调查Django实现(一)
  6. java pcm16位_Java – 将16位带符号的pcm音频数据数组转换为双数组
  7. [MySQL FAQ]系列 -- 新年新思想:MySQL也能并发导入数据
  8. JDK动态代理的实现原理
  9. python飞机大战概要设计说明书_飞机大战概要设计文档 4改
  10. 如何让自己看起来不像编程菜鸟?别犯这9个编程错误
  11. 【模糊控制器】基于simulink的模糊控制器设计
  12. AD画板,如何提高工作效率?
  13. 使用地点云实现企业官网中的门店地图
  14. 计算机网络教程第五版|微课版 - 第五章 运输层 - 习题【补充】
  15. JAVA:实现一个CircularQueue循环队列算法(附完整源码)
  16. 【AI视野·今日CV 计算机视觉论文速览 第215期】Tue, 8 Jun 2021
  17. 《大学“电路分析基础”课程实验合集.实验五》丨线性有源二端网络等效电路的研究
  18. ggplot2 annotate()函数
  19. BlueHost主机从零开始使用笔记,我踩过的坑你就不要踩了.
  20. 函数前后带两个下划线

热门文章

  1. 使用小程序实现识别图像文字并提取
  2. 艾美捷ProSci丨ProSci 凋亡抑制蛋白检测套装解决方案
  3. android 录制视频过程中拍照,GitHub - 616852636/CameraView: 仿微信拍照Android控件(点击拍照,长按录小视频)...
  4. 【面试必备】Swiftnbsp;面试题及其答案
  5. C语言常用转换函数实现原理(源代码)
  6. 【shader】UE4 Subsurface Profile shader提取
  7. 叶酸修饰碳量子点C-dots-FA|石墨烯掺杂硫化铅PbS量子点|石墨烯-PbS胶体量子点
  8. error LNK2001: unresolved external symbol
  9. 用dos编译c语言,如何在Windows命令行(DOS界面)中调用 编译器 来编译C/C++源程序...
  10. 宁盾DKEY短信动态密码身份认证系统