{"id":2013,"date":"2022-08-28T16:43:08","date_gmt":"2022-08-28T08:43:08","guid":{"rendered":"https:\/\/www.shuizilong.com\/house\/?p=2013"},"modified":"2022-08-28T22:35:44","modified_gmt":"2022-08-28T14:35:44","slug":"rotating-calipers","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/house\/archives\/rotating-calipers\/","title":{"rendered":"\u65cb\u8f6c\u5361\u58f3"},"content":{"rendered":"<ul>\n<li><a href=\"https:\/\/oi-wiki.org\/geometry\/rotating-calipers\/\">https:\/\/oi-wiki.org\/geometry\/rotating-calipers\/<\/a><\/li>\n<li><a href=\"https:\/\/www.luogu.com.cn\/problem\/P1452\">https:\/\/www.luogu.com.cn\/problem\/P1452<\/a> | <a href=\"https:\/\/vjudge.net\/problem\/POJ-2187\">https:\/\/vjudge.net\/problem\/POJ-2187<\/a><br \/>\n\u76f4\u5f84<\/li>\n<li><a href=\"https:\/\/www.luogu.com.cn\/problem\/P3187\">https:\/\/www.luogu.com.cn\/problem\/P3187<\/a><br \/>\n\u6700\u5c0f\u77e9\u5f62\u8986\u76d6<\/li>\n<li><a href=\"https:\/\/vjudge.net\/problem\/Gym-101175K\">https:\/\/vjudge.net\/problem\/Gym-101175K<\/a><br \/>\n\u6700\u5c0f\u77e9\u5f62\u8986\u76d6\u3001\u51f8\u5305\u5bbd\u5ea6<\/li>\n<li><a href=\"https:\/\/codeforces.com\/contest\/1578\/problem\/F\">https:\/\/codeforces.com\/contest\/1578\/problem\/F<\/a><br \/>\n\u6700\u5c0f\u77e9\u5f62\u8986\u76d6 + \u5fae\u79ef\u5206<\/li>\n<li><a href=\"https:\/\/vjudge.net\/problem\/POJ-3608\">https:\/\/vjudge.net\/problem\/POJ-3608<\/a><br \/>\n\u51f8\u5305\u95f4\u8ddd<\/li>\n<\/ul>\n<pre class=\"brush: cpp; light: false; title: ; toolbar: true; notranslate\" title=\"\">\r\n#include &lt;lastweapon\/geometry&gt;\r\nusing namespace lastweapon;\r\nusing namespace CG;\r\n\r\ntypedef vector&lt;Po&gt; VP;\r\n\r\n#define suc(x) (x+1==n?0:x+1)\r\nDB rc(const VP&amp; P){\r\n    int n = SZ(P)-1, j = 1; DB d2 = 0; REP(i, n){\r\n        while (dett(P&#x5B;i+1]-P&#x5B;i], P&#x5B;j+1]-P&#x5B;j])&gt;0) j=suc(j);\r\n        checkMax(d2, max(dist2(P&#x5B;i], P&#x5B;j]), dist2(P&#x5B;i+1], P&#x5B;j])));\r\n    }\r\n    return d2;\r\n}\r\n\r\nVP P; int n;\r\n\r\nint main(){\r\n\r\n#ifndef ONLINE_JUDGE\r\n    freopen(&quot;in.txt&quot;, &quot;r&quot;, stdin);\r\n    \/\/freopen(&quot;out.txt&quot;, &quot;w&quot;, stdout);\r\n#endif\r\n\r\n    RD(n); P.resize(n); REP(i, n) P&#x5B;i].in();\r\n    printf(&quot;%.0f\\n&quot;, rc(getCH(P)));\r\n}\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/oi-wiki.org\/geometry\/rotating-calipers\/ https:\/\/www.luogu.com.cn\/problem\/P1452 | https:\/\/vjudge.net\/problem\/POJ-2187 \u76f4\u5f84 https:\/\/www.luogu.com.cn\/problem\/P3187 \u6700\u5c0f\u77e9\u5f62\u8986\u76d6 https:\/\/vjudge.net\/problem\/Gym-101175K \u6700\u5c0f\u77e9\u5f62\u8986\u76d6\u3001\u51f8\u5305\u5bbd\u5ea6 https:\/\/codeforces.com\/contest\/1578\/problem\/F \u6700\u5c0f\u77e9\u5f62\u8986\u76d6 + \u5fae\u79ef\u5206 https:\/\/vjudge.net\/problem\/POJ-3608 \u51f8\u5305\u95f4\u8ddd #include &lt;lastweapon\/geometry&gt; using namespace lastweapon; using namespace CG; typedef vector&lt;Po&gt; VP; #define suc(x) (x+1==n?0:x+1) DB rc(const VP&amp; P){ int n = SZ(P)-1, j = 1; DB d2 = 0; REP(i, n){ while (dett(P&#x5B;i+1]-P&#x5B;i], P&#x5B;j+1]-P&#x5B;j])&gt;0) j=suc(j); checkMax(d2, max(dist2(P&#x5B;i], P&#x5B;j]), dist2(P&#x5B;i+1], P&#x5B;j]))); [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1],"tags":[],"class_list":["post-2013","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2tdP7-wt","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/2013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/comments?post=2013"}],"version-history":[{"count":1,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/2013\/revisions"}],"predecessor-version":[{"id":2014,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/2013\/revisions\/2014"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/media?parent=2013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/categories?post=2013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/tags?post=2013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}