演算法5 8 矩形相交

2021-09-08 22:31:10 字數 756 閱讀 1125

在70年代,計算機已經發展了一段時間,晶元的規模也越來越複雜。

因此人們不得不發明一些晶元設計的軟體。在軟體中完畢晶元的設計、除錯工作。

當時。模擬執行的時候依據電路的設計,模擬的過程中須要不斷地推斷矩陣是否相交。

那時候還沒有非常好的演算法。人們僅僅能通過暴力手段逐個推斷矩陣是否相交。

在今天看來,這樣的演算法的複雜度是n^2。依據摩爾定律,計算機cpu每隔18個月,電晶體的數量會新增一倍。

因為演算法的複雜度是n^2,所以晶元模擬軟體的執行時間就要新增3倍!

在這樣的情況下。新的演算法誕生了。 

首先對矩陣依照橫座標進行排序。類似線段相交問題,做一條掃瞄線。

當進入矩陣時,在區間樹上新增乙個區間。

當遇到區間相交的情況時,說明這兩個矩陣也是相交的。

矩形重疊(矩形相交,dp)

平面有n個矩形,第乙個矩形左下標為 x1 1 y1 1 右上標為 x2 1 y2 1 如果有2個或多個矩形有公共區域則認為他們相互重疊 計算平面內重疊矩形數量最多的地方有幾個矩形相互重疊 輸入第一行n 2 n 50 表示矩形的個數 第二行n個整數x1 i 10 9 x1 i 10 9 表示左下角的橫...

線段 矩形 矩形與矩形 相交

csharp view plain copy print?功能 判斷線段和矩形是否相交 先判斷線段的倆個端點是否在矩形的內部,在就必然相交 其次判斷線段的包圍盒是否和矩形相交,不相交的話線段和矩形肯定也不相交 最後判斷,矩形的四個頂點是否位於線段的兩側,是則必然相交,否則就不相交 csharp vi...

判斷矩形相交以及求出相交區域

問題 給定兩個矩形a和b,矩形a的左上角座標為 xa1,ya1 右下角座標為 xa2,ya2 矩形b的左上角座標為 xb1,yb1 右下角座標為 xb2,yb2 1 設計乙個演算法,確定兩個矩形是否相交 即有重疊區域 2 如果兩個矩形相交,設計乙個演算法,求出相交的區域矩形 1 對於這個問題,一般的...