jzoj6188

题意

\(n\)个位置\(s_i\)\(q\)次查询\(l,r,z\),求满足\([a,b]\subseteq [l,r],\sum\limits_{i=a}^b\sum\limits_{j=a}^b s_i+s_j\ge z\)的区间最大值最小

做法

有用的区间只有\(O(n)\)
\(s_{l-1}<max_{i=l}^r\{s_i\}\),则不需要\([l,r]\)这个区间

对于一组查询\((l,r,z)\),首先算\(a=l\)的最优解\(ta\)\(b=r\)的最优解\(tb\),可以二分求解
则只有区间右端点\(\in [ta,r]\)或区间左端点\(\in[l,tb]\)的区间有效

对于之前的有效区间,可以将\(\sum\limits_{i=a}^b\sum\limits_{j=a}^b s_i+s_j\ge z\)的区间求右端点\(\in [ta,r]\)的贡献

猜你喜欢

转载自www.cnblogs.com/Grice/p/12977430.html
今日推荐