計算幾何 zjoi2008 risk

2021-05-24 09:22:26 字數 487 閱讀 3464

題目大意:給你乙個平面圖,平面被分成了若干個區域,求出每個區域與之相鄰的區域,資料保證區域數不超過500;

有資料範圍可以看出要求是低於n3的演算法。

我的做法是:

1.將每一條線段ab拆成兩條有向線段ab與ba,然後將所有有向線段ab與從b點引出的線段中位於ab順時針方向的第一條線段連有向邊(ba與ab的夾角為2pi,而不是0)。這樣對所有的線段做一次dfs之後就能將圖中的封閉區域全部求出來,這樣出了某個區域包含的區域,其他相鄰的區域都可以求出來了;

2.可以使用環顧法求出各個區域之間的包含關係,這個包含關係類似於一棵樹,然後用拓撲序,先處理葉子節點,這樣可以把包含關係也求出來。

這個方法是我覺得最好實現的方法了。

總之既然是計算幾何題就肯定有很多細節的,最後還是拿了幾組資料來調才a的(資料很不好生成。。)

另外就是發現math庫裡面直接就有求極角的函式了,那就是arctan2!以後不用自己寫極角了,每次都要重新推一遍,囧。

code:

計算幾何與計算幾何與

博主這裡曾經學過計算幾何 下文簡稱jj 所以沒有證明或者說明某些演算法,不適合初學者食用 用一道例題及黃學長的 來理解 黃學長 include include include include include include include include include include define...

計算幾何 幾何基礎

這章早在2017年寒假就在培訓的時候由來自清華的hta老師上過了 但是本蒟蒻那時候並不是懂的太多 所以這週ww老師又上了一遍 大概記錄一下 大概就跟高中必修4的平面向量差不多 有上過的應該都會 a x1,y1 b x2,y2 a b x1x2 y1y2 a b a b cos a,b 運用 若a與b...

caioj 計算幾何 面積 計算幾何 叉積

題意 在乙個平面座標系上隨意畫一條有n個點的封閉折線 按畫線的順序給出點的座標 保證封閉折線的任意兩條邊都不相交。最後要計算這條路線包圍的面積。用叉積有關知識解決。重要結論 abs 三點的叉積 2為這三點圍成的三角形的面積。簡要證明 上圖中,黑色的三角形面積為矩形 三個三角形,設數,計算,合併同類項...