关于双指针区间滑动的若干问题
查看原帖
关于双指针区间滑动的若干问题
1051166
Nazq楼主2025/1/6 10:39

合法的 x,yx, y 需要存在 clc,xtclc,x+11c_{lc,x}\le t \le c_{lc,x+1}-1,使得 crc,yt+sumlcxpcrc,y+11c_{rc,y}\le t+sum_{lc}-xp\le c_{rc,y+1}-1,则 cp,x+y=min(cp,x+y,mint)c_{p, x+y} = \min(c_{p,x+y},\min t)。 整理后,等价于 [crc,y,crc,y+11][c_{rc, y}, c_{rc, y+1}-1][clc,xxp+sumlc,clc,x+11xp+sumlc][c_{lc,x}- xp + sum_{lc}, c_{lc,x+1}-1-xp+sum_{lc}] 有交,贡献取最左的。

转化为有两个区间,

第一个区间(xx)滑动的左、右端点单增,且前一个区间的右端点与后一个区间的左端点之间距离为 pp

第二个区间(yy)滑动的所有区间布满值域且互不相交。

区间滑动

第一篇线段树题解提到了 Ynoi 程序的 if(y != 0) y --;

我认为

因为 clc,x+1c_{lc, x + 1} 的左端点在 clc,xc_{lc, x} 的右端点左侧 pp 处,所以从 y1y-1 开始是避免如下情况。

Q

万一 crc,yc_{rc, y} 包含了 clc,xc_{lc, x}pp 个,那 y1y-1 不就和 clc,x+1c_{lc, x+1} 没有交了吗?

题解里面只判了 yyxx 前面,没有判 yyxx 后面的情况。

2025/1/6 10:39
加载中...