- 博客(12)
- 收藏
- 关注
原创 Educational Codeforces Round 166 (Rated for Div. 2)补题
Educational Codeforces Round 166 (Rated for Div. 2)补题
2024-05-31 13:36:47 371
原创 【数据结构】队列应用-单调队列
按照惯例,先想暴力做法。每移动一次窗口遍历一次窗口内元素,记录最值,时间复杂度O(nk)。那么该怎么优化呢,遍历n次窗口肯定没办法减少,那就只能从搜索窗口内最值元素的速度入手了。很自然的就能想到,如果我们让窗口内的元素排好序,那么搜索的时候只要输出端点值就好了。可这还有几个问题,窗口内的元素会变化,总不能变化一次排序一次吧,那也太花时间了。能不能让窗口内的元素变化的时候就自动排序好呢?欸!单调队列恰好能解决这个问题。
2023-11-05 15:24:15 75
原创 【数据结构】栈的经典应用-单调栈
首先让我们想一下暴力该怎么做,当然是要用两层循环啦。第一层循环遍历数列,第二层循环从后往前遍历已经完成过第一次遍历的整数,直到找到一个小于当前这个数的数并将其输出。可以发现,有些数一定不会是答案。例如 1 4 3 x 5 这个数列,让我们来看第四个数左边第一个比他小的数是什么,在这里我们将第四个数设成x是为了推广出更通用的结论。如果x大于3,那么答案就是3;如果x大于4,答案依然是3;如果x大于1,那么1、3都有可能,为什么4没有可能呢,因为如果4比x小,3一定小,输出答案。
2023-11-05 14:34:58 77
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人