单调队列,WA sub2求救

P1725 琪露诺

mushroom_knight @ 2021-07-21 08:22:51

RT,Sub2的数据下下来调死活看不出来哪里挂了。

求神仙指点……

#include<bits/stdc++.h>
using namespace std;

const int si=2e5+10;
int n,l,r;
int a[si];
int f[si];
int q[si],head=1,tail=0;

int main(){
    scanf("%d%d%d",&n,&l,&r);
    if(l>r) swap(l,r);
    for(register int i=0;i<=n;++i){
        scanf("%d",&a[i]);
    }
    int ans=f[0]=0;
    for(register int i=l;i<=n;++i){
        while(head<=tail && q[head]<=(i-r-1)) head++;
        while(head<=tail && f[q[tail]]<f[i-l]) tail--;
        q[++tail]=i-l;
        f[i]=f[q[head]]+a[i];
        if(i+r>n) ans=max(f[i],ans);
    }
    printf("%d",ans);
    return 0;
}

by mushroom_knight @ 2021-07-21 09:14:16

已经AC了。

初始化忘了qwq:

    memset(f,-0x3f,sizeof f);
    int ans=-INT_MAX;
    f[0]=0;

果然: (冥界の庭師は、暢気で抜けているって)


by Foolish_Fish @ 2021-08-25 21:35:35

@Konpaku_Youmu 多谢QAQ


by RAIH @ 2021-10-06 19:20:05

感谢感谢,我也错这了


by 杨丶老爹 @ 2021-10-29 22:55:53

感谢,我也没有初始化,大佬%%%


|