CF2140E2

news/2025/10/16 19:58:19/文章来源:https://www.cnblogs.com/xhr0817-blog/p/19146495

给定 \(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.mzph.cn/news/938477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Codeforces 380E Sereja and Dividing 题解 [ 紫 ] [ 线段树 ] [ 贪心 ] [ 数学 ]

Sereja and Dividing:一年前的模拟赛就能秒这个 *2600 了,可我现在怎么还这么菜 /ll/ll/ll。 先考虑当杯子的集合固定时如何选择,显然一个杯子不会被选第二次,并且杯子从大到小选一定是最优的。证明只需要列出最后…

JPA教程

一 什么是 Spring Data JPA Spring Data JPA 是 Spring 框架的一个子项目,它简化了基于 JPA (Java Persistence API) 的数据访问层开发。它通过提供一套抽象接口,减少了开发者编写重复性的数据访问代码的工作量,使开…

实验指导-基于阿里云Serverless应用引l擎SAE的服务部署迀移 - 详解

实验指导-基于阿里云Serverless应用引l擎SAE的服务部署迀移 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

夜莺监控设计思考(二)边缘机房架构思考

这将是一个系列,讲解 夜莺监控 的设计思考,可以理解为原理+最佳实践+产品设计时的折中取舍。 本系列其他文章:夜莺监控设计思考(一)项目定位、组件思考、单进程多进程选择、高可用设计下面开始第2篇。 上一篇我们…

搜维尔科技:具有人手级别抓握和操纵能力的灵巧手

应用 仿人机器人研究;涉及工具使用、双手操作的任务;需要手动操作的过程,如物体组装和连接器锁紧! 具有人手级别抓握和操纵能力的灵巧手 5指20自由度(DOF)Gripper与人手一样通用,可广泛应用。 专为高级人形机器人研…

v-model 的实现原理

vue 中 v-model 可以实现数据的双向绑定,但是为什么这个指令就可以实现数据的双向绑定呢? 其实 v-model 是 vue 的一个语法糖。即利用 v-model 绑定数据后,既绑定了数据,又添加了一个 input 事件监听。 实现原理:…

防塔游戏单机 王国保卫战全集下载 1~5部全系列MOD DLC修改版 安卓+ios+PC电脑版

王国保卫战全集下载 1~5部全系列MOD DLC修改版 安卓+ios+PC电脑版 《王国保卫战》中玩家需在地图上建造防御塔来抵御兽人、巨魔、恶魔等敌人的进攻。游戏设有森林、山野、荒地等多种战斗场景…

详细介绍:【译】Visual Studio 中针对 .NET MAUI 的 XAML 实时预览功能的增强

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

德州东站换乘攻略(仅供参考)

注意(免责声明):本文仅在极限情况下参考。本文仅给出参考,若发生任何与此有关的事情,本文作者不承担任何责任。 作者所携带的行李为 \(26\) 英寸拉杆箱,重约 \(9 kg\)。测试时作者为高中学生。德州东站换乘攻略:…

第十六篇

今天是10月16日今天上了数据结构,进行体测。

Date 2025.10.6

在 Print 之前 这场比赛打的不好,T1 没判边界挂了 \(50 pts\),T2、T3 都只打了 \(60 pts\),总的来说不算太好。 A - 玩具P.S. \(n \le 100000 \quad t \le 100000 \quad w_{i} \le 100 \quad k_{i} \le 100\) 说真的…

macOS 双开/多开微信WeChat完整教程(支持 4.X 及以上版本) - 实践

macOS 双开/多开微信WeChat完整教程(支持 4.X 及以上版本) - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &quo…

docker镜像层和容器层

docker镜像层和容器层非常好 👍 你要求的「完整 Docker 镜像层与容器层底层机制文档(含算法与举例、无省略版)」下面是一个系统化、结构化、含路径、算法公式、举例的全量说明。 这个版本涵盖:1~8 全部内容 + 算法…

快捷运用电脑的方式(不使用鼠标)

Ctrl+C:复制; Ctrl+V:粘贴; Ctrl+A:全选; Ctrl+X:剪切; Ctrl+Z:撤销; Ctrl+S:保存; Alt+F4:关闭; Shift+Del:永久删除; Windows+R:运行; Windows+E:打开我的电脑; Ctrl+Shift+Esc:打开任务管理器;

2025.10.16总结 - A

今天体测,挺累的,不过还可以

初识pytorch:更新网络参数的反向传播、损失函数和优化器

目录反向传播、损失函数和优化器这三者之间的联系损失函数(Loss Function),模型优化的“指南针”反向传播(Backpropagation):参数优化的 “路径规划”优化器:参数优化的执行者 ————————————————…

Composition API 与 React Hook 很像,区别是什么?

从 React Hook 的实现角度看,React Hook 是根据 useState 调用的顺序来确定下一次重渲染时的 state 是来源于哪个 useState,所以出现了以下限制:不能在循环、条件、嵌套函数中调用 Hook; 必须确保总是在你的 React…

题解:CF1483E Vabank

题意:交互题。现在有个隐藏的数 \(M\),你可以询问 \(X\) 和 \(M\) 的大小关系,如果 \(X\le M\) 则你会增加 \(X\) 块钱,如果 \(X>M\) 你需要支付 \(X\) 块钱,如果你付不起就挂了。初始有 \(1\) 块钱,要找出 \…

20251016 正睿二十连测

正睿二十连测 C 最后的 DP 比较神奇,花了至少 \(1h\) 才搞懂。 给定 \(n, k\),问有多少长度为 \(n\) 的排序能在至多 \(k\) 次 “双向冒泡排序” 后变得有序。一个经典的套路:对于每个 \(x\),将 \(\le x\) 的数看成…

[贝佐斯-六页纸]

1) 结论先行,明确要做什么 2)原因,解决什么问题 3)打算怎么做,和之前做法不同 4)验证效果 5)讨论分析,关键控制点 6)总结,谁具体负责。