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

ZR2024 数据结构

started in 2025.12.5 15:55。

CF1762F Good Pairs

给定一个长度为 \(n\) 的数组 \(a\),问有多少对 \((l,r)\) 满足存在一个首尾是 \(l,r\) 的单增下标子序列满足相邻对应数之差绝对值不超过 \(k\)
\(n \leq 5 \times 10^5,k,a_i \leq 10^5\)

首先有一个简单的观察:这个子序列的数一定单调。

证明考虑把这个子序列的数每个数看成 \((i,a_i)\) 画到图上,连接相邻点。此时如果有一个谷或者一个峰,你可以直接把中间的删除。

接下来我们用“移动,走“表示这个子序列加数的过程,那么相当于是每次只可以在 \(|a_i-a_j| \leq k\)\(i<j\)\(i\) 移动到 \(j\)

因此我们不妨只考虑不降的情况,即 \(a_l \leq a_r\) 的情况。不增的情况让所有数取一个负号即可。最后再减掉两者重复的部分即 \(a_l=a_r\) 的对数即可。

我们考虑从后往前扫,每次计算当前点作为 \(l\) 的情况下合法的 \(r\) 的个数。对 \(a_r\) 的值分类。

  • \(a_r \in [a_l,a_l+k]\),则可以一步走到。
  • \(a_r>a_l+k\),那么肯定是先走到最小的 \(p>i\) 满足 \(|a_p-a_l| \leq k\),然后再看看能不能走到这些 \(a_r\)

我们令 \(S_x\) 表示 \(x\) 往后走能走到的点的集合。

我们看看现在怎么计算方案数,第一部分是直观的,直接开 bit 算就行,设这种 \(r\) 的数量为 \(c\)。第二部分其实就是 \(S_p\)。那么 \(|S_l|=|S_p|+c\) 吗?并非如此,因为两者有重复部分,\(S_p\) 里面就包含了部分第一种的 \(a_r\)。可以发现去掉这一部分是好做的,直接 bit 即可。

实际上你直接对 \(|S_x|\) 做 dp 即可。

马上有场比赛,待会再写下后面的几个题。

要学的好多啊 /ll

http://www.gsyq.cn/news/73509.html

相关文章:

  • 2025年奔驰E级更换轮胎推荐:专业轮胎选择官方攻略
  • 2025年LED公司专业供应商有哪些?
  • 2025年修补防水涂料供应商排行榜:盘点十大专业厂家!
  • 从测试小白到高手:JUnit 5 核心注解 @BeforeEach 与 @AfterEach 的实战指南 - 教程
  • 多线程?就是Redis单线程还
  • 2025螺旋输送机设备品牌TOP5权威推荐:新深度测评指南,
  • 挖矿病毒分析
  • 2025年度气力输送系统制造企业TOP5权威推荐:甄选企业助
  • 以油养肤沐浴油哪个效果好?2025排行榜前十名沐浴油品牌公布!帮你高效修护肌底
  • 无锡新世源科技有限公司的技术实力怎样?看看哪家产品质量好
  • 好用的护发素品牌有没有推荐的?2025年6款护发素推荐:敏感肌染后受损修护
  • 2025年贵州装修公司权威推荐榜首:黔派装饰以匠心工艺与全周期服务
  • 2025年新房装修公司推荐:黔派装饰引领品质家居新标准
  • 2025年大众途观L更换轮胎推荐:TOP10轮胎权威榜单解析
  • 2025年重庆南坪板栗鸡店推荐:南坪吃板栗鸡有推荐吗
  • 从卡顿到秒查:Java 工程引入 Elasticsearch 搭建亿级地址数据的复杂查询实战
  • 2025年河南五大源头电线电缆厂家排行榜,电线电缆实力供应商
  • 2025年度重庆必吃江湖菜排名TOP5!重庆李子坝梁山鸡
  • 2025年安检机厂家找哪家,行业内安检机聚焦技术实力与行业适配性
  • 祝贺朱雀三号首飞成功入轨!国产时序数据库 IoTDB 助力火箭试验
  • 取得Gridview的指定某一列的值
  • DP1323EL的电动车解锁方案:超高速读写,提升电动车一键解锁体验
  • 高级语言程序设计第八次作业
  • debian10安装QT
  • iOS 基于 Foundation Model 构建媒体流 - 教程
  • 52(12.4)
  • 软件定义汽车:重看动力电池与BMS的系统性挑战
  • 2025年度电线电缆实力厂家权威推荐:看看哪家电线电缆品质优
  • 2025年国内有实力的鼠标微动开关企业推荐,中型微动开关/大型微动开关/微动开关/小型微动开关/汽车微动开关制造商排名
  • 关于.NET 10性能与 AI 是主题色