Zirnc's Blog

Recent content on Zirnc's Blog

马上订阅 Zirnc's Blog RSS 更新: https://blog.chungzh.cn/index.xml

Luogu-P4755 Beautiful Pair

2023年4月30日 08:00

Luogu-P4755 Beautiful Pair

题意

小 D 有个数列 ${a}$,当一个数对 $(i,j)$($i \le j$)满足 $a_i$ 和 $a_j$ 的积不大于 $a_i, a_{i+1}, \ldots, a_j$ 中的最大值时,小 D 认为这个数对是美丽的。请你求出美丽的数对的数量。

$1\le n\le{10}^5$,$1\le a_i\le{10}^9$。

编程时的问题

  • 对 ST 表不熟悉!
  • 更 zz 的是,对 lower_boundupper_bound 理解有问题,来复习一下小学知识:lower_bound 是找到“大于等于”的位置,upper_bound 是“大于”。写这道题的时候找小于某数的位置莫名其妙地用了 lower_bound,更没有 -1,完全是随手写的,半天也没察觉到这里有问题。

综上,我是 zz。

思路

考虑分治(据说这是套路),我们找出一个区间 $[l, r]$ 内的最大值位置 $mid$,然后统计所有跨过 $mid$ 的答案,再递归处理 $[l, mid-1],...

剩余内容已隐藏

查看完整文章以阅读更多