题意:
有n架飞机,第i架飞机位于x[i],速度为v[i],x[i]*v[i]<0。当风速为t时,这架飞机速度为(v[i]+t)。给定t的取值范围[-w,w],abs(w)<min(abs(v[i]))。求有多少对飞机存在满足条件的风速,使这对飞机同时飞过原点。
题解:
首先要糊一个结论:对于一对飞机,如果风速分别为w和-w时,两个飞机分别先到达原点,那么存在风速使得两架飞机同时到达原点。
那么对于所有的飞机,求出风速为w和-w时到原点的时间a[i]和b[i],那么只需求有多少i,j满足a[i]>=a[j]&&b[i]<=b[j],这就是二维偏序,树状数组搞定即可。