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

BJ-DP

讲题入:如果同桌睡觉可以扇 ta 两巴掌。

这何尝不是 dp 呢?(指 D,乐子分讨。)

A.The Maximum Prefix

法1:

如果只求一个 k 的答案怎么做。

从后往前 dp,设 \(f_{i,j}\) 表示填了以 i 为开头的后缀,最大前缀和为 j。

转移到 \(f_{i-1,max(0,j+a[i-1])}\)

因为我们要求最前面的前缀和一定是 0,所以每一次相当于在移动水平线。

但是这东西是倒着的,所以还是 \(O(n^3)\) 的。

\(dp_{i,j}\) 表示填了 i 开头的前缀,后面最大前缀为 j。

\(dp_{i,max(0,j+a[i])}\) 转移,贡献在开头加。

法2:

如果最大前缀和为 s,那么必然存在前缀和为 \(0,1,\dots,s\) 的位置。

对于每个 x,算 \(s\ge x\) 的概率,乘上 \(h_x-h_{x-1}\) 再求和。

枚举一个集合 p,钦定 p 中位置前缀和为 x,这个方案的权值为 \((-1)^{|p|-1}\)

\(dp_{i,j}\) 表示填了 i 个数,和为 j,对于每个 j=x,考虑是否放入,但是这东西对每个 \(x\) 都是 \(O(n^2)\)

可以对第一次到达的位置记绝对高度,其余位置记和第一个所选位的相对高度。

所以 \(h_x-h_{x-1}\) 放在第一个位置,剩下的贡献都是 -1。

B.First Come First Serve

答案显然不为 \(2^n\),因为会出现重复。

先给定一个 x,考虑如何判定这东西是否合法。

扫描所有端点,如果序列当前数和端点编号相同,直接选掉,看能不能选完。

所以考虑加一些限制,使得选端点的情况和排列一一对应。

当 i 区间内没有选点且 i 选右端点,那么和选左端点是一样的。

容斥,显然两个不合法区间不会相交,否则必有一个合法。

一个不合法区间可以确定所有与之相交的所有区间,且这些区间编号连续,这部分可以简单预处理。

然后用一个线段树之类的东西维护就行了,每次增加一个区间 *(-1)。

c.Bow Meow Optimization

显然两个序列本身应该是单峰的,且峰在中间。

对于左半部分的狗,只跟它左边猫的数量有关,右半部也只和右半边的数量有关。

这样就相当于一个 n+m 长度的递增序列,分成两个子序列,子序列的权值就是每个位置的权值乘前面不同的数的个数。

\(dp_{i,j,k}\) 表示一个序列取了 j 个 A,k 个 B,\(O(n^3)\)

注意力:将 A 的前 \(\frac{n}{2}\) 个放左边,B 的前 \(\frac{m}{2}\) 个放右边。

证明:

只有 01,显然成立。

对于每个 x,大于 x 的看成 1,小于的看成 0,要求对每个 x 都做最优选择。

D.Modulo Nim

全 1,全 2,后手胜。

有奇数,先手胜,\(\bmod 4\equiv 2\) 先手胜。

\(\bmod 3\equiv 1\)\(\bmod 3\equiv 2\) 只有一个,先手胜,否则后手。

剩下只有 \(\frac{200}{12}\) 种,状压。

E.Yet Another Partiton Problem

\(m_j=max(A[j+1:i]})\)

在 i 右移时 \(m_j\) 是不断变化的,可以用单调栈维护。

现在有两个问题:

  1. 合并两段,查最优的 j。

  2. 对整体查关于 i 的最优解。

合并直接启发式合并就可以了,李超线段树复杂度严格,支持撤销。

但是可以发现操作序列形成树,做倍增/可撤销单调栈。

F.合唱 / Chorus

这不是原吗?但我完全不会有啥办法。

如何判一个串是不是好的,就是考虑划分子序列,看是否超过 k,每次尽量取 A,出现 B 则取 B 直到数量相同。

\(f_i\) 为第 i 个 B 前 A 的个数,从 \(x=1\) 开始,每次令 \(x=f_x+1\)\(x>n\) 的跳跃次数就是子序列数。

考虑交换会改变什么,一次交换 AB 相当于在 B 前面再放一个 A,而且只改变这里。

最后的 f 需要满足 \(f_i/ge i,f_i\ge f_{i-1}\)

\(dp_{i,j}\) 表示跳到 i,跳了 j 次,\(O(n^3)\)

wqs 二分,可以去掉第二维。

然后剩下部分的贡献其实是关于转移到点的一次函数。

G.曲奇 / Cookies

\(\sum_{i=1}^t B_i\le \sum_{i=1}^n min(a[i],t)\)

将 B 按升序排序,\(dp_{i,j,k}\) 表示考虑 \(B_i,\dots ,B_m\),是否可行。

可以转到 \(dp_{i,j+1,k+b_i},dp_{i-1,j,k}\),然后还要考虑上界。

注意到 \(j\le \frac{S}{B_i}\),状态数是 log 的,bitset 优化一下。

http://www.rkmt.cn/news/126673.html

相关文章:

  • (建议收藏)2023网络安全系统学习路线图,CSDN全网首发!
  • Open-AutoGLM到底有多强?实测10大家电品牌联动成功率高达98%!
  • 【Open-AutoGLM睡眠分析黑科技】:揭秘AI如何精准监测并优化你的深度睡眠质量
  • 打破技术交流的单向壁垒
  • (独家)Open-AutoGLM高级技巧曝光:实现精准感知与条件触发的秘诀
  • Open-AutoGLM体温监测实战指南(从部署到数据分析全流程曝光)
  • SWR 全面教程:常用 API 串联与实战指南
  • 2025年目前口碑好的现浇混凝土公司找哪家,阁楼现浇/现浇楼梯/现浇楼板/现浇夹层/现浇二次结构/现浇阳台现浇混凝土公司怎么选择选哪家 - 品牌推荐师
  • Open-AutoGLM环境自适应技术揭秘:让您的家真正“会思考”(仅限专业解读)
  • jQuery UI 实例 - 添加 Class(Add Class)
  • 为什么高端家庭都在用Open-AutoGLM做任务管理?真相令人震惊
  • 2025年化妆品生产设备实力厂家权威推荐榜:GMP标准/一站式解决方案/智能化升级全品类深度解析与选购指南 - 呼呼拉呼
  • Open-AutoGLM到底有多强?一文看懂其跨模态检索与语义理解能力
  • 智能体在车联网中的应用:第10天 SUMO进阶:掌握TraCI API,用Python脚本实现车辆精细控制
  • Open-AutoGLM时间优化模型曝光:3步实现资源利用率翻倍
  • 【电信运营商网络基础】复杂网络设计之变量
  • 芦花海盐:口碑载誉,畅享优质海盐体验 - mypinpai
  • 基于VRTK的虚拟仿真乒乓球运动项目的设计与实现
  • CONOMA可诺码检测仪满意度怎么样?口碑好不好? - myqiye
  • 白话AI Agent (2): AI模型服务与网关——榨干AI的性能,让大模型同时服务更多人,反应更快速
  • Open-AutoGLM如何实现个性化体重预测:3个你必须掌握的技术细节
  • 【AI工程化进阶指南】:基于Open-AutoGLM的智能代理开发学习蓝图
  • 寻找优质海盐生产商?渠道招商、供应稳定、可定制包装的之选 - 工业推荐榜
  • 揭秘Open-AutoGLM家电控制黑科技:如何实现跨品牌设备无缝联动?
  • Open-AutoGLM保姆级教程,手把手教你打造会“思考”的家务提醒系统
  • 【家庭自动化终极方案】:用Open-AutoGLM实现零遗忘家务安排
  • 白话AI Agent (5): AI Tools——Function Call与MCP补充AI能力、助力AI任务执行
  • 【Open-AutoGLM体温记录全解析】:掌握智能健康监测的5大核心技术
  • 2025年工业热电偶订做厂家权威推荐榜单:热电偶导线/矿物绝缘热电偶/锅炉热电偶源头厂家精选 - 品牌推荐官
  • 【AI+健身革命】:基于Open-AutoGLM的动作捕捉与疲劳预警系统设计全解析