閔可夫斯基和型別的問題是這樣子的,給出兩個點集a和b,要你求a+b的凸包大小。
這個就很有趣了。
因為a+b中的點集中一共有
當然,凸包肯定會存在於a的凸包+b的凸包上。
但是它也可能出兩個凸多邊形來卡你啊。
這時,大救星出現了,閔可夫斯基和。
我們可以給這個兩個點集做一次凸包,然後再從這兩個點集中分別x最小中y最小的點開始。
出來之後,可能是這樣的。
就是m點開始,我們進行找點運動。
可以感性理解:下乙個凸包上的點是
所以這樣,我們就可以做出來了。求面積請看第十四節
閔可夫斯基和
這裡是有圖的講解 兩個點集 a,b a,ba,b 的閔可夫斯基和為 c c c 兩個凸包的閔可夫斯基和是由兩個凸包的邊平移組成的凸包。初始點為兩個凸包的左下角相加,然後第乙個向量由兩個凸包中極角小的邊組成,依次移動兩個凸包的邊,比較極角,然後決定哪個先放。例題 loj 2549.jsoi2018 戰...
第十五節Map和File
map 集合 儲存的是鍵值對的對映,每次操作都是鍵值對 一對物件 對映關係,鍵不能重複 鍵和值是對應關係 乙個鍵對應乙個值 map基本用法 1.建立hashmap物件 鍵的泛型,類的泛型 2.新增資料put 鍵不允許重複,如果相同key 後面的值覆蓋前面的值 3.輸出map中內容 putall 新增...
第十五節 包裝和授權
包裝 通過繼承來定製標準型別 功能 實現對標準型別的屬性的修改,或者對增加新功能 class list list def if type object is str else print 必須是字串 defshow medlle self 新增新的功能 ind int len self 2 retu...