LA 4728 Square ,旋轉卡殼法求多邊形的直徑,4728卡殼

來源:互聯網
上載者:User

LA 4728 Square ,旋轉卡殼法求多邊形的直徑,4728卡殼

給出一些正方形,讓你求這些正方形頂點之間的最大距離的平方。



//返回點集直徑的平方int diameter2(vector<Point> & points) {    vector<Point> p = ConvexHull(points);    int n = p.size();    if(n==1) return 0;    if(n==2) return Dist2(p[0], p[1]);    p.push_back(p[0]);    int ans = 0;    for(int u = 0, v = 1; u < n; ++u) {        for(;;) {            int diff = Cross(p[u+1]-p[u], p[v+1]-p[v]);            if(diff<=0) {                ans = max(ans, Dist2(p[u], p[v]));                if(diff==0) ans = max(ans, Dist2(p[u], p[v+1]));                break;            }            v = (v+1) % n;        }    }    return ans;}





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.