jzoj5703

题意

\(n\)个位置,\((x_i,y_i)\)\(\forall i,j(i<j)x_i<y_j\)\(val(i,j)=|x_i-x_j|\times min(y_i,y_j)\)
三种操作,修改\(i\)的横坐标或纵坐标,查询\([l,r]\)的最大贡献
数据是随机的

做法

维护\(l_i,r_i\)为左右最近的比其高的位置,由于数据随机,所以一直跳\(l_i\)\(O(logn)\)次到达边界

修改\(x\)对局面没影响
修改\(y\),修改\(r\)数组,修改\([l_i,i)\)这些位置,貌似有\(O(logn)\)个位置(存疑)

查询,从\([x,y]\)向中间跳\(r,l\),两边操作,每次一直保持一边更大

posted @ 2020-05-14 23:39  Grice  阅读(121)  评论(0)    收藏  举报