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

Bakas Trick

Trick 名何意味。

又名:不删除双指针。

常用于数区间,区间信息通常带有可合并的特质,也就是通常可以用线段树维护,如区间加,区间上的动态 DP(矩阵乘法)。

实现方法是:定义双指针 \(L,R\) 与辅助变量 \(\mathrm{mid}\),每次向右移动指针 \(R\),维护 \([[L,\mathrm{mid}],\mathrm{mid}]\)\(((\mathrm{mid},R],R]\) 的信息(后者使用变量维护即可)。然后利用前面的信息把指针 \(L\) 右移直到 \([L,\mathrm{mid}]+(\mathrm{mid},R]\) 合法(\(+\) 是任意区间合并运算)。若 \(L>\mathrm{mid}\) 仍不合法,则令 \(\mathrm{mid}\gets R,L\gets R\),从后往前重新建立 \([[L,\mathrm{mid}],\mathrm{mid}]\) 的信息。

可以证明,每个数被 \(L,R\) 各从前往后扫一次,被 \(L\) 从后往前扫一次,时间复杂度 \(O(n)\) 且码量略小于线段树。

1. P10144 [WC2024] 水镜

\(f_{l,r,0/1}\) 表示在区间 \([l,r]\) 中,取 \(h_r/L-h_r\),可以感受到 \(L\) 是一段连续的区间。

有转移:\(f_{l,r,0}\gets f_{l,r,0}\cup (f_{l,r-1,1}\cap (-\infty,a_r+a_{r-1}))\)\(f_{l,r,1}\gets f_{l,r,1}\cup (f_{l,r-1,0}\cap (a_r+a_{r-1},+\infty))\)

合法的条件是 \(f_{l,r,0}\cup f_{l,r,1}\neq \emptyset\),可以发现若 \([l,r]\) 合法,则 \([l',r']\subseteq [l,r]\) 均合法,因此对于每个 \(r\) 找到最小的 \(l\) 即可。

写成 \((\cup,\cap)\) 矩乘的形式,Baka's Trick 维护区间乘法即可,注意运算顺序和对单位矩阵,空矩阵的处理。

http://www.jsqmd.com/news/39361/

相关文章:

  • c++初学者的随笔记录_1
  • bug等级
  • bug的内容包含(重点)
  • mybatis 打印执行SQL
  • 10年湛江老导游私藏路线!除了生蚝,这座海滨之城还有多少惊喜等你发现
  • ld.lld: error: undefined symbol: _impure_ptr 出现该问题解决办法
  • 5、MySQL 常用值
  • 2025年平移门行业十大服务商权威推荐榜单:专业选择指南
  • 2025年平移门服务商综合实力排行榜:十大优质企业深度解析
  • 气象数值预报高性能计算
  • 北京婚姻诉讼律师精选推荐
  • 基于ComfyUI的Wan2.2文生视频显卡性能实测
  • 2025年不锈钢列管式冷凝器源头厂家权威推荐榜单:化工冷凝器/新型风冷冷凝器/不锈钢冷凝器源头厂家精选
  • 10年恩施老导游小胡吐血整理!这5个景点不去等于白来,内含独家避坑指南
  • P13544 [OOI 2022] Serious Business
  • 区间与除法-线段树
  • CF1799F Halve or Subtract
  • Agent使用
  • 利用Java反射绕过Minecraft模组限制的技术解析
  • 足球
  • 新建 Microsoft Word 文档
  • 2025 年 11 月污水提升泵厂家推荐排行榜,进口污水提升泵,地下室家用污水提升泵,别墅/厕所/卫生间马桶污水提升泵,厨房墙排一体化污水提升泵公司推荐
  • 2025年高大空间冷暖机组厂家权威推荐榜单:高大空间供暖设备/高大空间采暖器/高大空间热水暖风机源头厂家精选
  • vue2 项目打包优化 - 东方不败-
  • 2025下半年国内液压/电动/半自动升降柱厂家排行榜:技术领先企业全面解析
  • Tita 项目:赋能教育培训机构突围,开启高效运营新篇章
  • 2025年矿用设备设施安全检测检验企业口碑排行榜
  • 2025年11月国内矿用设备设施安全检测检验厂家top10
  • 2025年矿用设备设施安全检测检验企业推荐指南
  • centos6.5升级openssh10.2p1