其他分享
首页 > 其他分享> > P8259 [CTS2022] 回 解题报告

P8259 [CTS2022] 回 解题报告

作者:互联网

P8259 [CTS2022] 回 解题报告:

题意

你需要支持二维平面上的两种操作:

\(1\leqslant m\leqslant 10^5\)。

分析

差分一下,变成一次斜率为 \(1\) 的线段加和一次斜率为 \(-1\) 的线段减,再差分一下就是射线。

发现修改一个位置对询问的影响是两次二维前缀和,即修改 \((x,y,w)\) 对询问 \((X,Y)\)(\(x\leqslant X,y\leqslant Y\))的贡献是 \(w(X-x+1)(Y-y+1)\),于是我们就是要维护矩形内的 \(\sum w,\sum wx,\sum wy,\sum wxy\)。

对于第一种射线加,随便算算就知道,其就是给满足二维偏序的点 \((x,y)\) 加上一个关于 \(x,y\) 的多项式。

第二种射线加性质稍微差一点,可以发现它很像三角形数点,利用类似的方法可以差分出若干个二维数点,贡献和第一种是类似的。

离线下来 cdq 分治即可,复杂度 \(O(n\log^2 n)\)。

代码

标签:sum,差分,CTS2022,二维,解题,P8259,leqslant
来源: https://www.cnblogs.com/xiaoziyao/p/16684363.html