Poj1228 穩定凸包

2021-05-25 02:41:05 字數 432 閱讀 8706

題意:給定一些點,問這些點能不能夠成穩定的凸包,這有點不明不白的,我也是看了別人的報告才搞明白題意的,就是如果凸包上的一條邊如果不包含三個以上的點,它就是可以被向外擴充套件的.

解題:弄明白了題意,以為會很簡單了,直接掃瞄求凸包就行了,而且是不用退棧的過程,後來在實現過程中才發現,即使給出的所有點都在凸包上,也是不能夠一次迴圈下來就入棧所有的點,因為,所有的點只是按相對原點(這裡指左下角的點)的轉角進行排序,並且又是距離進的排在前面,而在以後或者最後一條邊下來的時候,如果它直通原點,則一定會首先入棧那些距原點近的點,這樣所有點的入棧順序就跟所需求的順序混亂了~所以在入棧每點的時候,首先進行再次的掃瞄,然後對相對於原點相同轉角的所有點進行二次排序,其實這個排序也可以放在求凸包之前的,而把第一次排序中的距離換成遠距離放在前面就行了~

呃,因為輸入wa了好幾次,對於輸入n,直接判斷它小於6,而沒有接收後面的n個點,尷尬~

POJ1228 穩定凸包

看題半天沒看懂意思,以為就是判斷是否有凸包結果。看了題解才知道,是要確定乙個凸包是否唯一,即不能通過新增點變成新的凸包,也就是凸包的每條邊上至少有3個點。include include include include include define maxl 1010 define eps 1e 8 ...

POJ 1228 穩定凸包

解題思路 所謂穩定凸包就是不存在凸包外加入乙個點使得形成的新凸包還包含原凸包的所有點。所以要使他是穩定的,那麼凸包的每條邊都必須有三個點,也就是除了兩個端點外邊上還有一點,這樣如果要在外加入乙個點的話必然使得邊上的點被消除,所以這樣的凸包也就是穩定的了。include include include...

poj1228穩定凸包

就是給一系列點,看這是不是乙個穩定凸包 穩定凸包是指乙個凸包不能通過加點來使它擴大面積,也就是說每條邊最少有三個點 判斷的地方寫錯了,寫了兩邊迴圈,其實陣列s已經排好了序,直接每三個判斷就好了 include include include include include include inclu...