題意:找一條直線讓所有的線段在這條
直線的投影交集不為空
轉化:題目可以轉化為一條直線與所有線段判交。設直線ab為與所有線段
有交的直線,那所有線段在與ab相互垂直的直線上投影的交集至少有乙個
交點(即不為空)。
解法:列舉所有不同的點中的兩點所組成的直線與所有線段判交。
注意重點的判斷。。。。。。。。
#include#include#include#include#include#include#include#include #includeusing namespace std;
#define inf 2147483647
#define eps 1e-8
#define ll __int64
#define m 5001
struct point
p[205];
struct line
;struct segment
s[105];
double muilt(point p0,point p1,point p2)
bool cmp(point a,point b)
{ if(abs(a.x-b.x)
關於求線段和線段,線段和圓弧,圓弧與圓弧的交點演算法
1 線段與線段求交點 已知線段的起點和終點,求交點,這個比較簡單,解2個二元一次方程可以求出。a 我這裡的演算法是判斷2條線段的定義域和值域是否有重合地方,有則進行下一步判斷,沒有這返回空,表示沒有交點。b 根據直線方程2點式y y1 y2 y1 x2 x1 x x1 進行解方程,不過這之前先進行對...
線段樹求周長求交面積的做法
求周長的做法是對每個段,用線段樹計算出不相交的區間個數,至於求區間個數,有點像掃瞄線的做法,也是先排序,排序之後就是求括號序列有多少個區間,很有技巧。然後就是段的長度 區間個數 2,然後對矩形座標進行關於y x對稱,再做一次就是完整的周長了。受求周長做法的啟發,可以得到求矩形交面積的做法,需要乙個一...
hdu 1255 覆蓋的面積(線段樹求面積交)
給定平面上若干矩形,求出被這些矩形覆蓋過至少兩次的區域的面積.雖說覆蓋兩次區域的面積,但是這道題實際上就是求矩形的面積交。膜拜能夠想出這種解法的神牛,竟然能把實際的東西用這麼抽象的語言表示出來,實在是佩服,現在關於掃瞄線的題才做了幾道,沒有對其深刻理解,但是多練總可以理解的,奮鬥吧!acmer!我是...