单调队列 数组写法qwq

 1 #include<bits/stdc++.h>
 2 #define ll unsigned long long
 3 #define LL long long
 4 const int MOD=1e9+7;
 5 const int maxn=2e5+5;
 6 using namespace std;
 7 
 8 int que[maxn],a[maxn];
 9 void que_min(int n)
10 {
11     int l=0,r=0;//头尾相等
12     for(int i=1;i<=n;i++)
13     {
14         if(r>=l&&que[r]>=a[i])//队尾减一左移
15             r--;
16         que[++r]=a[i];
17     }
18 }
19 void  que_max(int n)
20 {
21     int l=0,r=0;
22     for(int i=1;i<=n;i++)
23     {
24         if(r>=l&&que[r]<=a[i])
25             r--;
26         que[++r]=a[i];
27     }
28 }
29 int main()
30 {
31     return 0;
32 }

猜你喜欢

转载自www.cnblogs.com/sj-gank/p/11728150.html