TreeMind树图在线AI思维导图
当前位置:树图思维导图模板高校与高等教育其他学科单调队列思维导图

单调队列思维导图

  收藏
  分享
免费下载
免费使用文件
U125568174 浏览量:142023-03-26 11:37:19
已被使用9次
查看详情单调队列思维导图

单调队列知识点

树图思维导图提供 单调队列思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 单调队列思维导图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:fbad72a7b62867915bb484a882697b5c

思维导图大纲

单调队列思维导图模板大纲

定义

对于求在一个数组内,求一定区间的最值时, 如果一个数大于他,还在他后面的话,这个数 就不会被取到,可以弹出队列。正所谓:当别人又比你小有比你强,你就啥也不是

例题

刘老师食蛋挞

思路

通过一个单调队列,保证最新鲜最美味的蛋挞 在第一位,每次只需要输出第一位即可,并且每次循环开始将过期的蛋挞抛出队列,始终保持队列内蛋挞在保质期内

实现

for(int i=2;i<=n;i++){ if(i-q[head]>=m) head++; while(head<=tail && a[q[tail]]<=a[i]) tail--; tail++,q[tail]=i; cout<<a[q[head]]<<" "; }

滑动窗口

思路

和上一题类似,只需要两个单调队列分别存储最大最小值即可

实现

for(int i=2;i<=m;i++){ if(i-q1[head1]>=n) head1++; if(i-q2[head2]>=n) head2++; while(head1<=tail1&&a[q1[tail1]]<=a[i]) tail1--; while(head2<=tail2&&a[q2[tail2]]>=a[i]) tail2--; tail1++,q1[tail1]=i; tail2++,q2[tail2]=i; if(i>=n){ ans++; ans1[ans]=a[q1[head1]];ans2[ans]=a[q2[head2]]; } }

相关思维导图模板

早期接触农业、生物多样性和绿地与炎症性肠病风险之间的关系:一项基于人群的队列研究思维导图

树图思维导图提供 早期接触农业、生物多样性和绿地与炎症性肠病风险之间的关系:一项基于人群的队列研究 在线思维导图免费制作,点击“编辑”按钮,可对 早期接触农业、生物多样性和绿地与炎症性肠病风险之间的关系:一项基于人群的队列研究  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:75be218ffb126e173bd37cfbce4760ff

栈和队列的应用思维脑思维导图

树图思维导图提供 栈和队列的应用思维脑 在线思维导图免费制作,点击“编辑”按钮,可对 栈和队列的应用思维脑  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a1fbcbaa0d1a723bbeca8cfdb13cfea7