BZOJ 1062: [NOI2008]糖果雨(二维树状数组)

首先嘛,这道题是非同一般的恶心= =

然后首先膜拜一下CDQ大神ORZ在考场上A了这道题ORZ

这道题看到的话,我是先想把云朵化成在0s时的位置,但很容易发现这样只能单点查询而不能查询整段

结果只能膜拜题解了QAQ

首先先把云朵化成在第x秒到达0点长度为len(x是mod 2len意义下的)

每朵云就能变成一个点了

然后就可以发现询问其实是两个平行四边形内有多少个点

吧两个平行四边形化成矩形就行了

需要注意的是

一个平行四边形可能两个矩形

要么单独求

要么可以把图扩大一倍就行了= =

原文地址:https://www.cnblogs.com/New-Godess/p/4348918.html