显然先考虑二分答案。
于是如何判定?
即,求斜率大于 mid 的直线条数。
设 xi<xj,如果 i 和 j 确定的直线的斜率大于 k,根据定义有
yj−yixj−xi>kyj−yi>k(xj−xi)yj−kxj>yi−kxi
于是问题变成了统计 xi<xj,yi−kxi<yj−kxj 的二元组 (i,j) 的个数。
就是一个二维偏序,离散化之后树状数组解决。
代码:
1 |
|
显然先考虑二分答案。
于是如何判定?
即,求斜率大于 mid 的直线条数。
设 xi<xj,如果 i 和 j 确定的直线的斜率大于 k,根据定义有
yj−yixj−xi>kyj−yi>k(xj−xi)yj−kxj>yi−kxi
于是问题变成了统计 xi<xj,yi−kxi<yj−kxj 的二元组 (i,j) 的个数。
就是一个二维偏序,离散化之后树状数组解决。
代码:
1 | #include <cstdio> |
Related Issues not found
Please contact @Alpha1022 to initialize the comment