发生了什么……

P1440 求m区间内的最小值

@[deadpool123](/space/show?uid=84121) 那也得~~臭不要脸的~~交一次
by wxy_god @ 2018-10-07 10:09:05


@[我是一个垃圾](/space/show?uid=89396) 不要现在我AC率太低了
by _FILARET_ @ 2018-10-07 10:10:01


@[deadpool123](/space/show?uid=84121) 那就让我来交
by wxy_god @ 2018-10-07 10:10:33


然鹅全部RE
by wxy_god @ 2018-10-07 10:10:55


要判断队列为空的时候 不然会非法访问
by Aleph1022 @ 2018-10-07 10:11:48


@[deadpool123](/space/show?uid=84121)
by Aleph1022 @ 2018-10-07 10:11:52


@[I_love_him52](/space/show?uid=75840) 改了以后还是不行……
by _FILARET_ @ 2018-10-07 10:12:58


```cpp #include <iostream> #include <cstdio> #include <deque> using namespace std; const int MAXN=1000005; deque<int> dq; int N, K; int a[MAXN]; int main() { cin>>N>>K; for(int i=0;i<N;i++) { cin>>a[i]; } dq.push_back(0); cout<<dq.front()<<endl; for(int i=1;i<N-1;i++) { while(a[i]<a[dq.back()]&&!dq.empty()) dq.pop_back(); dq.push_back(i); while(dq.front()<i-K&&!dq.empty()) dq.pop_front(); cout<<a[dq.front()]<<endl; } return 0; } ```
by _FILARET_ @ 2018-10-07 10:15:26


```cpp // luogu-judger-enable-o2 #include <iostream> #include <cstdio> #include <deque> #pragma GCC optimize (2) #pragma GCC optimize (3) using namespace std; const int MAXN=2000005; deque<int> dq; int N, K; int a[MAXN]; inline int read() { char ch = getchar(); int x = 0, f = 1; while(ch < '0' || ch > '9') { if(ch == '-') f = -1; ch = getchar(); } while('0' <= ch && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); } return x * f; } inline void print(int x) { int buf[100]; int p=0; if(x<0){ putchar('-'); x=-x; } do{ buf[p++]=x%10; x/=10; }while(x); for(int i=p-1;i>=0;i--) putchar(buf[i]+'0'); } int main() { N=read(); K=read(); a[0]=0; for(int i=1;i<=N;i++) { a[i]=read(); } cout<<0<<endl; for(int i=1;i<N;i++) { while(!dq.empty()&&a[i]<a[dq.back()]) dq.pop_back(); dq.push_back(i); while(!dq.empty()&&dq.front()<i-K+1) dq.pop_front(); print(a[dq.front()]); cout<<endl; } return 0; } ```
by _FILARET_ @ 2018-10-07 10:34:40


|