如何使用单调队列
  • 板块学术版
  • 楼主ZnPdCo
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/5/13 20:36
  • 上次更新2024/5/13 22:53:20
查看原帖
如何使用单调队列
560700
ZnPdCo楼主2024/5/13 20:36

在做一道分块模板题,其中需要使用单调队列维护 ai+ixa_i+ix 的最大值,其中 xx 给定,我看不太懂下面代码:

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 这一行是什么意思?

2024/5/13 20:36
加载中...