在做一道分块模板题,其中需要使用单调队列维护 ai+ix 的最大值,其中 x 给定,我看不太懂下面代码:
for (int k=1; k<=size; k++)
{
while ((len)&&(x.a[x.b[len]]+c[len]*x.b[len]<x.a[k]+c[len]*k))
len--;
x.b[++len]=k;
if (len!=1) c[len]=(x.a[x.b[len-1]]-x.a[k])/(k-x.b[len-1])+1;
}
其中 len!=1 这一行是什么意思?