- 20250415模拟赛一
部落信号---题解思路
- 2025-4-16 17:11:39 @
首先,与环有关的问题,最基本的思路就是段环成链。因为连接 的圆弧,一定不会选择穿过环上的最大值,所以可以去掉环上最大值并把环拆成链,最后重新算一遍最高点的贡献即可。
不难发现,将 作为较低点,它能连结的点有左边第一个比它大的点和右边第一个比它大的点,于是想到单调栈。但是这样有一个问题,如果单调栈中出现了相同元素,那么点 还能连接到所有与 大小相同的点。所以还要特殊处理这一类点。单调栈进行的过程中始终保持序列的递减,那只用用 替换栈内元素时,维护一个 数组如果遇到相同元素,则通过累加得到与 相同的元素个数即可。准确的说,是 向左边拓展,在遇到比它大的点时停下,中途遇到与 相等的元素的个数。
然后对于换上的最大值,我们直接单独统计即可,复杂度,如何计数相同数也可以使用二分。
0 条评论
目前还没有评论...