洛谷 P10516 数据结构 Solution-Description

时间:2025-03-27 11:39:59

给定序列 a = ( a 1 , a 2 , ⋯   , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,,an) b = ( b 1 , b 2 , ⋯   , b n ) b=(b_1,b_2,\cdots,b_n) b=(b1,b2,,bn),有 m m m 个操作分三种:

  • add ⁡ ( l , r , k , t ) \operatorname{add}(l,r,k,t) add(l,r,k,t):对每个 i ∈ [ l , r ] i\in[l,r] i[l,r],若 a i × b i ≤ k a_i\times b_i\le k ai×bik,则执行 a i ← a i + t , b i ← b i + t a_i\gets a_i+t,b_i\gets b_i+t aiai+t,bibi+t.
  • set ⁡ ( i , x , y ) \operatorname{set}(i,x,y) set(i,x,y):执行 a i ← x , b i ← y a_i\gets x,b_i\gets y aix,biy.
  • query ⁡ ( l , r ) \operatorname{query}(l,r) query(l,r):求 ∑ i = l r a i + b i \sum\limits_{i=l}^r a_i+b_i i=lrai+bi.