ARC071B题解

题面

题意:
\(n\) 条横线段分别为 \(x=x_i\)\(m\) 条纵线段分别为 \(y=y_i\) ,求他们围成的所有矩形的面积和。


首先,我们定义 \(dx_{i,j}\) 为第 \(i\) 条横线段与第 \(j\) 条横线段之间的距离,\(dy_{i,j}\) 为第 \(i\) 条纵线段与第 \(j\) 条纵线段之间的距离。
则答案为 \(\sum_{1\leq i<j\leq n} \sum_{1\leq k<l\leq m} dx_{i,j}\times dy_{k,l}\)
那么通过一些因式分解我们可以把答案变为 \(\sum_{1\leq i<j\leq n}dx_{i,j} \times \sum_{1\leq k<l\leq m} dy_{k,l}\)
然后去考虑每一条 \(x_i\to x_{i+1}\) 的边的贡献。通过小学知识可知他对答案的贡献是 \(i\times(n-i)\)
这样就可以算出来 \(\sum_{1\leq i<j\leq n}dx_{i,j}=\sum_{1\leq i< n}dx_{i,i+1}\times i\times(n-i)\)
所以答案就是 \((\sum_{1\leq i< n}dx_{i,i+1}\times i\times(n-i))\times(\sum_{1\leq i< m}dy_{i,i+1}\times i\times(m-i))\) 。左右两边分别 \(O(n)\) 计算即可。

代码

posted @ 2022-04-01 20:17  1358id  阅读(44)  评论(0编辑  收藏  举报