51Nod 1107 斜率小於0的連線數量

2021-09-07 14:12:52 字數 834 閱讀 1244

二維平面上n個點之間共有c(n,2)條連線。求這c(n,2)條線中斜率小於0的線的數量。

二維平面上的乙個點,根據對應的x y座標可以表示為(x,y)。例如:(2,3) (3,4) (1,5) (4,6),其中(1,5)同(2,3)(3,4)的連線斜率 < 0,因此斜率小於0的連線數量為2。

input第1行:1個數n,n為點的數量(0 <= n <= 50000) 

第2 - n + 1行:n個點的座標,座標為整數。(0 <= xii , yii <= 10^9)output輸出斜率小於0的連線的數量。(2,3) (2,4)以及(2,3) (3,3)這2種情況不統計在內。sample input

4

2 33 4

1 54 6

sample output

2
選x或y,維護另乙個的樹狀陣列即可。

1 #include2 #include3 #include4 #include5 

6 using namespace std;

7 8 const int maxn=60005;

9 int g[maxn],n;

10 11 struct node

12 c[maxn];

16 17 void update(int x)

18 22

23 int getsum(int x)

24 30

31 bool cmpx(node xx,node yy)

32 {

33 if(xx.x!=yy.x)

34 return xx.x

1107 斜率小於0的連線數量

二維平面上n個點之間共有c n,2 條連線。求這c n,2 條線中斜率小於0的線的數量。二維平面上的乙個點,根據對應的x y座標可以表示為 x,y 例如 2,3 3,4 1,5 4,6 其中 1,5 同 2,3 3,4 的連線斜率 0,因此斜率小於0的連線數量為2。input 第1行 1個數n,n為...

1107 斜率小於0的連線數量

二維平面上n個點之間共有c n,2 條連線。求這c n,2 條線中斜率小於0的線的數量。二維平面上的乙個點,根據對應的x y座標可以表示為 x,y 例如 2,3 3,4 1,5 4,6 其中 1,5 同 2,3 3,4 的連線斜率 0,因此斜率小於0的連線數量為2。input 第1行 1個數n,n為...

51nod1107 逆序對數 歸併排序

題意 中文題誒 思路 通過題意可以發現對於兩點p1 x1,y1 p2 x2,y2 若x1y2則線段p1p2滿足要求,那麼顯然可以先按x值排下序,對應y序列的逆序對數目即為答案 注意 對於x1 x2 y1 y2的情況是不滿足題意的,可以通過過載排序去除x值相等的情況下的y逆序對 1 include 2...