刷题升级题单讲解(Day 1)

very very very easy ,very very easy,very easy 题单要讲的举手。
我们先从 easy 题单讲起。
今日知识,单调队列。

02FD813D
假如序列 a 是 1\ 3\ -1\ -3\ 5\ 3\ 6\ 7k2 要求最大值。
首先把 1 加进来,然后继续往后看,把 3 加进来,这时可以发现滑动窗口是往右滑的,所以 13 更早地从滑动窗口里出去,而 31 打所以, 1 在后面不可能成为答案,所以可以直接把 1 删了。
现在我们队列里的数字有 3 所以答案是 3
再加入 -1 现在队列里是 3\ -1 答案是 3
然后加入 -3 现在队列里是 3\ -1\ -3 ,但是这时滑动口的位置是 34 ,所以要把 3 删了,答案是 -1 ,以此类推。
核心代码

for(int i=1;i<=n;++i)
{
	while(h<=t&&a[i]<=a[q[t]]) t--;
	q[++t]=i;
	while(h<=t&&i-q[h]>=k) h++;
	if(i>=k) printf("%d ",a[q[h]]);
}

如果有一个人比你小,还比你强,那么你就要被单调队列 pop 了。
祝大家在学习的时候不要被 pop 。

2 个赞

膜大佬%%%

2 个赞

举个什么?(

又换头像了?

举个例子啊

嘿嘿,你有可能是唯一一个见过我全头像的人

2 个赞

不还有你

我自己就不算了

2 个赞

王梓涵可能见过你全头像。
但是不太可能,上线时间不确定,最近都没上

确实,我到24年中旬以前的头像他应该都是见过了

2 个赞

才发现 wzh 改名 luckyqwq 了

1 个赞

额,这件事要从几天前说起

咋了?

1 个赞

这个不能说只能给你截张qq图
image

(我逐渐明白一切)
话说你有 qq 号?

1 个赞

有的。
我们那个班上课要用到。