尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Bakas Trick

Bakas Trick
📅 发布时间:2026/6/20 17:57:48

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 维护区间乘法即可,注意运算顺序和对单位矩阵,空矩阵的处理。

相关新闻

  • 从淘宝推荐到微信搜索:查找算法如何支撑亿级用户——动画可视化 - 教程
  • mybatis 打印执行SQL
  • 2025年平移门服务商综合实力排行榜:十大优质企业深度解析

最新新闻

  • 承德市奢侈品手表包包回收经历分享:跑了5家店,说说真实感受 - 谊识预商务
  • AMD Ryzen终极调试指南:SMUDebugTool完整教程,释放处理器隐藏性能
  • 番茄小说下载器终极指南:免费开源工具助您轻松保存全网小说资源
  • 阿克苏地区黄金回收去哪儿好?整理了5家靠谱实体店地址电话 - 千叶啊
  • GPT-4 Turbo响应优化实战:低延迟LLM应用开发指南
  • UVa 559 Squares (II)

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号