{"id":1183,"date":"2015-07-18T12:53:45","date_gmt":"2015-07-18T04:53:45","guid":{"rendered":"http:\/\/www.shuizilong.com\/house\/?p=1183"},"modified":"2015-07-18T12:53:45","modified_gmt":"2015-07-18T04:53:45","slug":"hdu-1569-%e6%96%b9%e6%a0%bc%e5%8f%96%e6%95%b02","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/house\/archives\/hdu-1569-%e6%96%b9%e6%a0%bc%e5%8f%96%e6%95%b02\/","title":{"rendered":"HDU 1569. \u65b9\u683c\u53d6\u6570(2)"},"content":{"rendered":"<p><!--more--><\/p>\n<p>\u4e8c\u5206\u56fe\u6700\u5927\u72ec\u7acb\u96c6\uff0c\u6700\u5c0f\u5272\u3002<\/p>\n<pre class=\"brush: cpp; light: false; title: ; toolbar: true; notranslate\" title=\"\">\r\nconst int NN = int(1e2) + 9;\r\nconst int N = int(1e4) + 9, M = int(N*6) * 2;\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\r\n#undef f\r\n#undef c\r\n#undef v\r\n\r\nint r, c, tot;\r\n\r\nint id(int i, int j){\r\n    return i*c+j+1;\r\n}\r\n\r\nbool inGrid(int x, int y){\r\n    return x &gt;= 0 &amp;&amp; y &gt;= 0 &amp;&amp; x &lt; r &amp;&amp; y &lt; c;\r\n}\r\n\r\nvoid init(){\r\n    s = 0, t = r*c+1, n = t+1, m = 2; fill(hd, hd+n, 0);\r\n    tot = 0;\r\n\r\n    REP_2(i, j, r, c){\r\n        int cap; tot += RD(cap);\r\n        if (i&amp;1^j&amp;1) ae(s, id(i,j), cap);\r\n        else ae(id(i,j), t, cap);\r\n    }\r\n\r\n    REP_2(i, j, r, c) if (i&amp;1^j&amp;1) REP(d, 4){\r\n        int x = i + dx&#x5B;d], y = j + dy&#x5B;d];\r\n        if (inGrid(x, y)) ae(id(i,j),id(x,y),INF);\r\n    }\r\n}\r\n\r\n\/\/} G;\r\n\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#endif\r\n\r\n    while (~scanf(&quot;%d %d&quot;, &amp;r, &amp;c)){\r\n        init(); OT(tot-sap());\r\n    }\r\n}\r\n\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":[47],"tags":[],"class_list":["post-1183","post","type-post","status-publish","format-standard","hentry","category-hdu"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2tdP7-j5","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/1183","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=1183"}],"version-history":[{"count":0,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/1183\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/media?parent=1183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/categories?post=1183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/tags?post=1183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}