hdu 1086 判斷交點

2021-07-07 06:06:16 字數 543 閱讀 9055

對於兩條直線上的點, m(ax1,ay1)  n (ax2,ay2)   p(bx1,by1)  q(bx2,by2) 

若兩直線相交,則任意一條直線的兩個端點,都在另一條直線的兩側。

我們可以使用向量外積  或者  線性規劃  來判斷。

此處使用外積。

mn 與 mp 的外積  mnp = (ax1 - ax2)*(ay1 - by1) - (ay1 - ay2)*(ax1 - bx1)

mn 與 mq 的外積 mnq = (ax1 - ax2)*(ay1 - by2) - (ay1 - ay2)*(ax1 - bx2)

#include #include struct node

s1[105],s2[105];

int ans;

void wtf(int a,int b)

int main()

for(i = 1; i < n; i++)

}printf("%d\n",ans);

} return 0;

}

hdu 1086 判斷兩線段是否相交

題意 給出一些線段,問有多少個交點。解題思路 這裡實際就是乙個線段相交的模型,下面這個圖給出了思路。在實際寫的時候並沒有先去判斷快速排斥實驗,而是直接使用跨立實驗。注意,這裡跨立實驗要判斷兩次,不僅p1p2一次,q1q2也要一次。include include includeusing namesp...

判線段相交 HDU 1086

url b size medium 題意 求一堆線段兩兩相交的次數,即使交點重疊也算在內 更詳細的幾何講解 url 判斷兩線段是否相交 url color blue sample input color 20.00 0.00 1.00 1.00 0.00 1.00 1.00 0.00 30.00 0...

HDU 1086 線段相交 不規範相交模板

題意 很多線段,求總交點個數 不規範相交 沒有三線共點 題解 模板,拿幾道計算幾何水題開頭,準備計算幾何專題了 這個題的細節其實很多,只是資料太水了!不規範相交模板 view code 1 include 2 include 3 include 4 include 5 include 6 inclu...