当前位置: 首页 > news >正文

CF2140E2

给定 \(n(1 \le n\le 20), m(1 \le m \le 10^6)\) 和一些 \(p_i\)。有 \(n\) 堆石子,每堆石子有 \(1 \sim m\) 个。两个人进行博弈,每次每个人可以取走第 \(p_i\) 堆石子(\(i\) 任选),然后剩下的石堆重新编号,直至只有一堆石子。先手要最大化最后一堆石子的数量 \(x\),后手要最小化 \(x\)。请计算所有石子配置的 \(x\) 之和。

先考虑 E1:\(m = 2\)。显然可以状压,令 \(dp_{c, u, 0/1}\) 表示还剩 \(c\) 堆石子,石子数组成的状态为 \(u\),先手还是后手操作的答案。时间复杂度:\(O(n2^n)\)

现在 \(m\) 扩到了 \(10^6\),可以想办法使得只有两种不同的取值:枚举一个 \(0 \le t < m\),将石子数 \(\le t\) 的看成 \(0\),剩下的看成 \(1\)。那么得到的 DP 值就是 \(x\) 是否大于 \(t\)。而答案正好可以拆解为 \(\sum\limits_{t = 0}^{m - 1} x > t 的配置数量\)

于是搞一次 DP。枚举 \(t\) 算出 \(> t\) 的方案数即可:

\[\sum\limits_{u} dp_{n, u, 0} \cdot t^{n - popcount(u)}(m - t)^{popcount(u)} \]

(有 \(popcount(u)\) 个数 \(\le t\)\(n - popcount(u)\) 个数 \(> t\))。

时间复杂度:\(O(n2^n + m)\)

本题想到 \(m = 2\) 时可以状压,然后再通过枚举 \(t\)\(m\) 转为 \(2\) 即可。

http://www.gsyq.cn/news/22506.html

相关文章:

  • 实验指导-基于阿里云Serverless应用引l擎SAE的服务部署迀移 - 详解
  • 夜莺监控设计思考(二)边缘机房架构思考
  • 德州东站换乘攻略(仅供参考)
  • Date 2025.10.6
  • macOS 双开/多开微信WeChat完整教程(支持 4.X 及以上版本) - 实践
  • 初识pytorch:更新网络参数的反向传播、损失函数和优化器
  • Composition API 与 React Hook 很像,区别是什么?
  • cc
  • 普源精电RIGOL DS2202A示波器保存波形到CSV文件过慢解决方法:保存为WFM格式、通过LAN接口使用SCPI+PyVISA控制
  • 动手学深度学习——引言
  • CF1989E Distance to Different
  • 给档案装上“智慧大脑”:文档抽取技术的四大赋能场景
  • P11816QOJ1250 Pionki 轮廓线DP
  • Bug——PaddleX人脸识别报错:Process finished with exit code -1073741819 (0xC0000005) - 教程
  • linux系统scatter/gather I/O技术
  • Joeys shell
  • 软件工程学习日志2025.10.16
  • Apifox 9 月更新| AI 生成接口测试用例、在线文档调试能力全面升级、内置更多 HTTP 状态码、支持将目录转换为模块 - 实践
  • window电脑开启hyperV虚拟化功能后导致本地服务端口被占用问题处理方案
  • 初识pytorch:网络骨架中的填充之各种层
  • Day5字符型
  • 深入解析:从 Vercel 构建失败谈 Git 大小写敏感性问题:一个容易被忽视的跨平台陷阱
  • 完整教程:Logit论文阅读
  • 前端快速开发工具推荐与实战 让开发速度提升 3 倍的完整工具链
  • Matlab选择常见颜色
  • 2025 年防静电地板源头厂家最新推荐榜单:权威品牌实力展现,助力各行业精准挑选优质产品
  • HyperWorks许可状态监控
  • 2025 年激光焊锡源头厂家最新推荐排行榜:覆盖多行业需求,助力企业精准挑选优质设备供应商
  • 客户案例 | 未来生物甄知科技,在SAP架构中搭建IT运维智能引擎
  • keycloak~标准的国际化设计