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

CF 1053 Div.2

E. Limited Edition Shop

经过一些简单转化,要解决的是如下问题:

二维平面上有 \(n\) 个点,点有点权。\(n\) 个点横坐标、纵坐标都是 \(1\sim n\) 的排列。要求选择若干点,满足它们右下角区域的并集中的点点权和最大。

考虑 \(dp\)。设 \(dp_i\) 表示考虑到从左往右第 \(i\) 个点时(必选)答案的最大值。

如图所示,如果 \(i\) 想从 \(j\) 转移,需要加上绿色部分的点权和。这可以转化成绿色+红色部分的点权和减去红色部分的点权和。其中,绿色部分的点权和可以直接算,红色部分的点权和可以在 \(j\) 处处理。当 \(i\) 增加时,红色部分去掉一列。这一列只可能有一个点 \((i,y_i)\)。所以对于所有 \(j<i\)\(y_j>y_i\),红色部分都会减去该点权。这启示我们使用线段树维护,时间复杂度 \(O(n\log n)\)。线段树下标是 \(y_i\),原因显然。

F. Attraction Theory

观察原始 \(p\) 序列显然是没有用的,我们改为观察 \(p\) 的桶数组 \(f\)。经过思考,发现如下事实:

  • \(f\) 中有值的位置一定连续。
  • 设这段连续的位置为 \([L,R]\),那么需要满足对于所有 \(L<i<R\)\(f_i\) 是奇数。
    这两个条件都可以归纳证明。并且可以发现,这两个条件是充要的,任意一个满足条件的 \(f\) 都可以简单构造出一种合法的方案。

现在这个题就是一个纯粹的计数题了。假设 \(L=1\),我们枚举区间长度 \(Len\)。因为 \(f\) 要满足奇偶性限制,我们不妨将 \(f\) 数组处理一下得到 \(g\) 数组。具体地,

  • \(f_1 = 2g_1 + x(1 \leq x \leq 2)\)
  • \(f_{Len} = 2g_{Len} + y(1\leq y \leq 2)\)
  • \(f_i = 2g_i + 1(1<i<Len)\)

因为 \(f_i\geq 1\),所以显然,\(g_i \geq 0\)

\(S=n-x-y-(Len-2)\),则显然 \(\sum g_i = \frac{S}{2}\),因为 \(\sum f_i = n\)。所以我们要求所有的 \(\sum 2g_ia_i\)。还有一些 \(x,y,1\) 之类的常数可以稍后处理。然后发现,\(g_i\) 是相当线性的,并且只考虑 \(g\) 的和的话,各个 \(g_i\) 之间并没有什么区分,也就是说它们是对称的。因此,我们可以发现,所有方案中每个 \(g_i\) 的和是分别相同的!

也就是说,\(g_i\) 的期望值是 \(\frac{S}{2Len}\)。所以 \(\sum 2g_ia_i\) 就等于 \(cnt\sum 2\frac{S}{2Len}a_i\),其中 \(cnt\)\(g\) 的方案数。然后就非常简单的做完了。\(L \neq 1\) 的情况是类似的,可能要再推一下式子吧。常数处理是简单的,时间复杂度好像可以做到 \(O(n)\)

为什么 \(1\leq x,y\leq 2\) 呢?如果 \(0\leq x,y\leq 1\),那么 \(x=0\)\(g_1\) 就不能等于 \(0\) 了!这样是很烦的。不过若 \(1\leq x,y\leq 2\),那么就只需要满足 \(g_1\geq 0\) 了。非常好。

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

相关文章:

  • haproxy负载均衡 - 详解
  • 豆油
  • linux shell awk 中括号 方括号 分割 []
  • 绩效面谈中的优质提问(一)
  • 从 “纸笔清单” 到全栈引擎:数据填报与类 Excel 控件如何重塑企业效率曲线 - 详解
  • 做题笔记总板
  • 嵌入式铁头山羊STM32-各章节详细笔记-查阅传送门 - 教程
  • 做题笔记6
  • 第17章 Day20-Day21 逆向爬虫之瑞数6
  • Vona ORM分表全攻略
  • 深入解析:设计模式-状态模式详解
  • 如何让百度快速收录网页如何让百度快捷收录网页的方法
  • 061_尚硅谷_算术运算符课堂练习
  • axi 4k边界检测
  • GOSIM 开源出海工作坊:给开源创业者的忠告
  • 一文搞懂Flex弹性布局空间分配规则
  • “小身材的大心脏”——HT-AD3PS-1+ 在成都恒利泰的射频江湖里到底做了什么?
  • AT_agc012_c [AGC012C] Tautonym Puzzle 题目分析
  • 详细介绍:回调函数与错误处理
  • .NET操作Word/WPS打造专业文档 - 页面设置与打印控制完全指南
  • NORDIC蓝牙6.0新品NRF54L15多协议超低功耗高性能BLE芯片 - 动能世纪
  • 快速入门HarmonyOS应用开发(三) - 教程
  • Docker + IDEA 一键部署! - 实践
  • Manim实现涟漪扩散特效
  • Xcode 26.0.1 (17A400) 发布 - Apple 平台 IDE
  • CNN+MNIST - 实践
  • 微算法科技(NASDAQ: MLGO)利用高级 Blowfish 加密标准实现区块链集成信息共享
  • Docker常用命令速查
  • 深入解析:gpt-4o+deepseek+R生成热力图表
  • PostgreSQL 的索引Ooracle、Mysql索引的类型对比和说明