{"id":813,"date":"2013-09-03T18:41:41","date_gmt":"2013-09-03T10:41:41","guid":{"rendered":"http:\/\/www.shuizilong.com\/house\/?p=813"},"modified":"2014-09-29T09:39:42","modified_gmt":"2014-09-29T01:39:42","slug":"bzoj-3132-%e4%b8%8a%e5%b8%9d%e9%80%a0%e9%a2%98%e7%9a%84%e4%b8%83%e5%88%86%e9%92%9f","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/house\/archives\/bzoj-3132-%e4%b8%8a%e5%b8%9d%e9%80%a0%e9%a2%98%e7%9a%84%e4%b8%83%e5%88%86%e9%92%9f\/","title":{"rendered":"BZOJ 3132. \u4e0a\u5e1d\u9020\u9898\u7684\u4e03\u5206\u949f"},"content":{"rendered":"<p><!--more--><br \/>\n\u505a\u6cd5\u7c7b\u4f3c\u67d0\u9898\u3002\u3002\u8fd9\u91cc\u5c31\u4e0d\u8d58\u8ff0\u4e86\u3002\u3002<\/p>\n<p>\u3002\u3002\u8003\u8651\u8be2\u95ee\u77e9\u9635\u7684 \u201c\u524d\u7f00\u548c\u201d <code>[1, 1]-[x, y]<\/code>\u3002\u8bbe $$d_{ij}$$ \u662f [i, j] \u5bf9\u53f3\u4e0b\u89d2\u7684 <code>[i, j]-[n, m]<\/code> \u8d21\u732e\uff0c\u5219\u6709\uff1a<\/p>\n<p>$$! \\begin{aligned} Sum &#038;=\\sum_{i=1}^{x}\\sum_{i=1}^{y} d_{ij}(x-i+1)(y-j+1) \\\\&#038;=   \\sum_{i=1}^{x}\\sum_{i=1}^{y} d_{ij}(x+1)(y+1) &#8211; d_{ij} i (y+1) &#8211;  d_{ij} j (x+1)  +  d_{ij} i j \\end{aligned}$$<\/p>\n<p>\u7528\u4e8c\u7ef4\u6811\u72b6\u6570\u7ec4\u5206\u522b\u7ef4\u62a4\u8fd9\u56db\u4e2a\u589e\u91cf\u5373\u53ef\u3002<\/p>\n<pre class=\"brush: cpp; light: false; title: ; toolbar: true; notranslate\" title=\"\">\r\nconst int N = 2049;\r\n\r\nint S&#x5B;N]&#x5B;N], Sx&#x5B;N]&#x5B;N], Sy&#x5B;N]&#x5B;N], Sxy&#x5B;N]&#x5B;N];\r\nint n, m;\r\n\r\nvoid Add(int S&#x5B;N]&#x5B;N], int x, int _y, int d){\r\n    for (;x&lt;=n;x+=low_bit(x))\r\n        for (int y=_y;y&lt;=m;y+=low_bit(y))\r\n            S&#x5B;x]&#x5B;y] += d;\r\n}\r\n\r\nint Sum(int S&#x5B;N]&#x5B;N], int x, int _y){\r\n    int z=0; for (;x;x^=low_bit(x))\r\n        for (int y=_y;y;y^=low_bit(y))\r\n            z += S&#x5B;x]&#x5B;y];\r\n    return z;\r\n}\r\n\r\nvoid Add(int x, int y, int d){\r\n    Add(S, x, y, d), Add(Sx, x, y, x*d), Add(Sy, x, y, y*d), Add(Sxy, x, y, x*y*d);\r\n}\r\n\r\nint Sum(int x, int y){\r\n    return Sum(S, x, y)*(x+1)*(y+1) - Sum(Sx, x, y)*(y+1) - Sum(Sy, x, y)*(x+1) + Sum(Sxy, x, y);\r\n}\r\n\r\nint Sum(int x0, int y0, int x1, int y1){\r\n    return Sum(x1, y1) - Sum(x1, y0-1) - Sum(x0-1, y1) + Sum(x0-1, y0-1);\r\n}\r\n\r\nvoid Add(int x0, int y0, int x1, int y1, int d){\r\n    Add(x0, y0, d), Add(x0, y1+1, -d), Add(x1+1, y0, -d), Add(x1+1, y1+1, d);\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    scanf(&quot;%*c%d%d&quot;, &amp;n, &amp;m);\r\n\r\n    char cmd; int x0, y0, x1, y1;\r\n\r\n    while (~scanf(&quot; %c&quot;, &amp;cmd)){\r\n        RD(x0, y0, x1, y1);\r\n        if (cmd == 'L') Add(x0, y0, x1, y1, RDD());\r\n        else OT(Sum(x0, y0, x1, y1));\r\n    }\r\n}\r\n<\/pre>\n<p><a href=\"https:\/\/gist.github.com\/lychees\/6422304\">https:\/\/gist.github.com\/lychees\/6422304<\/a><\/p>\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-813","post","type-post","status-publish","format-standard","hentry","category-bzoj"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2tdP7-d7","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/813","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=813"}],"version-history":[{"count":1,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/813\/revisions"}],"predecessor-version":[{"id":984,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/813\/revisions\/984"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/media?parent=813"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/categories?post=813"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/tags?post=813"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}