線段的交ZJU2870 PKU3304

2021-06-19 05:37:09 字數 606 閱讀 4677

題意:找一條直線讓所有的線段在這條

直線的投影交集不為空

轉化:題目可以轉化為一條直線與所有線段判交。設直線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!我是...