【做题记录】SHOI2007 园丁的烦恼

  • \(\text{SHOI2007}\) 园丁的烦恼

    • 算法:cdq 分治

题目:

给定 \(n\) 棵树的坐标,\(m\) 次查询,每次询问以 \((x_1,y_1)\) 为左下角,\((x_2,y_2)\) 为右上角的矩形内树的数量。

\(0 \leq n \leq 5 \times 10^5\)\(1 \leq m \leq 5 \times 10^5\)

题解:

\(s_{i,j}\) 表示以 \((1,1)\) 为左下角、\((i,j)\) 为右上角的矩阵内的树的数量。

那么每组询问即为

\(ans=s_{x_2,y_2}-s_{x_1-1,y_2}-s_{x_2,y_1-1}+s_{x_1-1,y_1-1}\)

记录每个树出现的坐标,像桶。

然后这是一个二维偏序。

按照 \(x,y\) 轴排个序就好了。

posted @ 2022-01-17 18:33  trsins  阅读(31)  评论(0)    收藏  举报