{"id":1182,"date":"2015-07-17T15:13:37","date_gmt":"2015-07-17T07:13:37","guid":{"rendered":"http:\/\/www.shuizilong.com\/house\/?p=1182"},"modified":"2015-07-17T15:13:37","modified_gmt":"2015-07-17T07:13:37","slug":"bzoj-1340-baltic2007escape%e9%80%83%e8%b7%91%e9%97%ae%e9%a2%98","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/house\/archives\/bzoj-1340-baltic2007escape%e9%80%83%e8%b7%91%e9%97%ae%e9%a2%98\/","title":{"rendered":"BZOJ 1340. [Baltic2007]Escape\u9003\u8dd1\u95ee\u9898"},"content":{"rendered":"<p><!--more--><br \/>\nhttp:\/\/www.lydsy.com\/JudgeOnline\/problem.php?id=1340<\/p>\n<pre class=\"brush: cpp; collapse: true; light: false; title: Sap; toolbar: true; notranslate\" title=\"Sap\">\r\n\r\nconst int N = 1009, M = int(4e6) + 9;\r\n\r\n\/\/struct Network_Flow{\r\n\r\nint D&#x5B;N], hd&#x5B;N], suc&#x5B;M], to&#x5B;M], cap&#x5B;M];\r\nint n, m, s, t;\r\n\r\ninline void ae(int x, int y, int c){\r\n    suc&#x5B;m] = hd&#x5B;x], hd&#x5B;x] = m, to&#x5B;m] = y, cap&#x5B;m++] = c,\r\n    suc&#x5B;m] = hd&#x5B;y], hd&#x5B;y] = m, to&#x5B;m] = x, cap&#x5B;m++] = 0;\r\n}\r\n\r\ninline void aee(int x, int y, int c){\r\n    suc&#x5B;m] = hd&#x5B;x], hd&#x5B;x] = m, to&#x5B;m] = y, cap&#x5B;m++] = c,\r\n    suc&#x5B;m] = hd&#x5B;y], hd&#x5B;y] = m, to&#x5B;m] = x, cap&#x5B;m++] = c;\r\n}\r\n\r\n#define v to&#x5B;i]\r\n#define c cap&#x5B;i]\r\n#define f cap&#x5B;i^1]\r\n\r\nLL sap(){\r\n    LL z=0; static int cnt&#x5B;N],cur&#x5B;N],pre&#x5B;N];\r\n    fill(D,D+n,n),fill(cnt,cnt+n,0);cnt&#x5B;n]=n;\r\n    int u=s;cur&#x5B;s]=hd&#x5B;s];while (D&#x5B;s]){\r\n#define i cur&#x5B;u]\r\n        if (u==t){\r\n            int d=INF;for(u=s;u!=t;u=v)checkMin(d,c);\r\n            z+=d;for(u=s;u!=t;u=v)f+=d,c-=d;u=s;\r\n        }\r\n#undef i\r\n        int i;for(i=cur&#x5B;u];i;i=suc&#x5B;i]){\r\n            if(D&#x5B;u]+1==D&#x5B;v]&amp;&amp;c){cur&#x5B;u]=i,cur&#x5B;v]=hd&#x5B;v],pre&#x5B;v]=u,u=v;break;}\r\n        }\r\n        if (!i){\r\n            if (!--cnt&#x5B;D&#x5B;u]])break;\r\n            D&#x5B;u]=1;REP_G(i,u)if(c)checkMax(D&#x5B;u],D&#x5B;v]);--D&#x5B;u];\r\n            ++cnt&#x5B;D&#x5B;u]];if(u==s)cur&#x5B;u]=hd&#x5B;u];else u=pre&#x5B;u];\r\n        }\r\n    }\r\n\r\n    return z;\r\n}\r\n#undef f\r\n#undef c\r\n#undef v\r\n\/\/} G;\r\n\r\nint L, W;\r\nint xx&#x5B;N], yy&#x5B;N];\r\n\r\nvoid init(){\r\n\r\n    RD(L, W); RD(n);\r\n    REP_1(i, n) RD(xx&#x5B;i], yy&#x5B;i]);\r\n\r\n    s = 0, t = 2*n + 1, m = 2;\r\n\r\n    REP_1(i, n){\r\n        ae(2*i-1,2*i,1);\r\n        if (yy&#x5B;i] &lt;= 100) ae(s, 2*i-1, INF);\r\n        if (yy&#x5B;i] &gt;= W - 100) ae(2*i, t, INF);\r\n        FOR_1(j, i+1, n) if (sqr(xx&#x5B;i]-xx&#x5B;j]) + sqr(yy&#x5B;i]-yy&#x5B;j]) &lt;= sqr(200)){\r\n            ae(2*i, 2*j-1, INF);\r\n            ae(2*j, 2*i-1, INF);\r\n        }\r\n    }\r\n\r\n    n = t + 1;\r\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\r\n#endif\r\n\r\n    init(); OT(sap());\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"","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":[22],"tags":[],"class_list":["post-1182","post","type-post","status-publish","format-standard","hentry","category-bzoj"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2tdP7-j4","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/1182","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=1182"}],"version-history":[{"count":1,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/1182\/revisions"}],"predecessor-version":[{"id":1185,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/1182\/revisions\/1185"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/media?parent=1182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/categories?post=1182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/tags?post=1182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}