题解 赫露艾斯塔
首先 \(A=0\) 的部分可以离线下来扫描线
然后 \(C=0\) 的部分是一个关于 \(\frac{y_i}{x_i}\) 的限制,可以离线下来按极角序排序
再然后就不会做了
- 关于平面内均匀随机撒点:注意到在 \(\sqrt n\times\sqrt n\) 的平面分块下,每个块内期望只有一个点
- 关于随机数据下的半平面数点:
首先进行一个 \(\sqrt n\times \sqrt n\) 的平面分块,那么此时每个块内期望只有 \(O(1)\) 个点
那么划分半平面的这条直线只会经过 \(\sqrt n\) 个块,对这些块暴力,剩下的块可以再选一维做前缀和
这样就可以做到单次查询期望 \(O(\sqrt n)\)
还有一种同样依赖数据随机但单次询问大约 \(O(\sqrt[3]n\log n)\),离线貌似可以做到 \(O(n^{\frac{5}{3}}+q\sqrt[3]n)\) 的做法:
考虑以 \(n^{\frac{2}{3}}\) 为块长进行分块,那么这条直线会经过 \(O(n^{\frac{1}{3}})\) 个块
对于直线经过的每个块,构造一条与询问直线垂直的直线,将所有块内点按照在构造的直线上的投影顺序排序
那么块内两个半平面的点其实会以两条直线的垂点为界分开,这样就可以求和了
离线的话貌似可以对每个块 \(O(块内点数^2)\) 地预处理出若干个块内答案相同的区间
然后离线按斜率递增查询(貌似)就可以去掉 log
然后这与本题有什么关系呢?
我怎么知道(逃
转化为半平面带权数点,总点数-非支配点对数=支配点对数