叉積的性質 poj2318 TOYS

2021-07-26 10:08:33 字數 728 閱讀 2234

題目大意:

給定乙個矩形,中間有n塊板把這個矩形分成n+1塊,從0開始編號。

保證按照順序給出並且沒有相交。

給定m個點,詢問每乙個塊內有多少個點。

題目分析:

對於每乙個點二分所有的線段,然後利用叉積的性質判斷它在這條線的左邊還是右邊,統計答案。

時間複雜度o(mlogn)

(水題一枚╮(╯_╰)╭,我這種蒟蒻也就能做這種題了qaq)

**如下:

#include

#include

#define n 5005

using

namespace

std;

struct point

}tmp;

struct linea[n];

int n,m,x1,x2,y1,y2;

int ans[n];

int cross_product(point p1,point p2,point p0)

int bin(point c)

return ans;

}int main()

for(int i=1;i<=m;i++)

for(int i=0;i<=n;i++)

printf("%d: %d\n",i,ans[i]);

printf("\n");

} return

0;}

poj2318 TOYS 叉積性質 二分

乙個矩形,n n 5e3 個玩具,m m 5e3 個擋板,問每個玩具在哪個區域,1號擋板左側為0號區域,右側為1號區域,以此類推 記向量p 隔板的上端點 玩具 向量q 隔板的上端點 隔板的下端點 那麼如果q旋轉到p為逆時針,即q p 0,說明玩具在隔板右側 二分找到最右的隔板,滿足玩具在隔板右側即可...

叉積 二分 poj2318

1 通過結果的正負判斷兩向量之間的順逆時針關係 若 a x b 0表示a在b的順時針方向上 若 a x b 0表示a在b的逆時針方向上 若 a x b 0表示a在b共線,但不確定方向是否相同 2 判斷折線拐向,可轉化為判斷第三點在前兩的形成直線的順逆時針方向,然後判斷拐向。3 判斷乙個點在一條直線的...

POJ2318(叉積 二分)

題意 給了m個點,落在n 1個區域中,問各個區域有多少個點。思路 玩具的點和隔板的上下頂點連的邊求叉積,如果小於0,說明點在隔板左邊,用二分找每個隔板區間對應的玩具數。include include include include include include include include in...