P2032 扫描
今天刚学STL
发个板子纪念一下(单调队列)
始终记住一句话,人家比你小有比你强,你就OUT了
#include<bits/stdc++.h> using namespace std; int n,k; struct node{ int x,y;//x表示战斗力,y表示出生年份 }; deque<node> dq;//本题维护的是区间最大值,队首一定年纪大,战斗力最强 int main() { cin>>n>>k; for(int i=1;i<=n;i++) { node a; cin>>a.x; a.y=i; while(!dq.empty() && a.x>=dq.back().x) dq.pop_back();//比你小,又比你强,gun dq.push_back(a); if(!dq.empty() && i-dq.front().y>k-1) dq.pop_front();//自然老死的game over if(i>=k) cout<<dq.front().x<<endl; } return 0; }
添加时间2019/7/20
单调队列进阶版
发射题目<=假紫题