{"id":650,"date":"2013-01-26T08:20:02","date_gmt":"2013-01-26T00:20:02","guid":{"rendered":"http:\/\/www.shuizilong.com\/house\/?p=650"},"modified":"2014-09-22T21:34:11","modified_gmt":"2014-09-22T13:34:11","slug":"codeforces-round-163","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/house\/archives\/codeforces-round-163\/","title":{"rendered":"Codeforces Round #163"},"content":{"rendered":"<p><!--more--><br \/>\n\u3002\u3002\uff08\u5367\u69fd\u3002\u3002\u4e00\u4e0d\u7559\u795e\u5c45\u7136\u6f0f\u6389\u4e86\u8fd9\u4e48\u591a CF \u3002\u3002\u3002\u5f97\u60f3\u529e\u6cd5\u5148\u8865\u4e0a\uff01\u3002\u3002\uff09<\/p>\n<h2>Problem D. D. BerDonalds<\/h2>\n<h3>Brief description: <\/h3>\n<p>\u6c42\u6700\u5c0f\u76f4\u5f84\u751f\u6210\u6811\u7684\u76f4\u5f84\u957f\u5ea6\u3002\u3002<\/p>\n<h3>Analysis: <\/h3>\n<p>\u540c <a href=\"https:\/\/www.shuizilong.com\/house\/archives\/spoj-1479-the-gbaay-kingdom\/\">https:\/\/www.shuizilong.com\/house\/archives\/spoj-1479-the-gbaay-kingdom\/<\/a>\uff09<\/p>\n<p><a href=\"http:\/\/codeforces.com\/contest\/266\/submission\/7909882\">http:\/\/codeforces.com\/contest\/266\/submission\/7909882<\/a><\/p>\n<h2>Problem E. More Queries to Array&#8230;<\/h2>\n<h3>Brief description: <\/h3>\n<p>\u3002\u3002\u52a8\u6001\u7ef4\u62a4 N \u4e2a\u6570 {An}\u3002\u3002\u3002\u652f\u6301\u3002\u3002<br \/>\n= l r v: \u533a\u95f4\u4fee\u6539\uff0c\u8868\u793a\u628a\u533a\u95f4 [l, r] \u7684\u6570\u5168\u90e8\u4fee\u6539\u6210 v\u3002<br \/>\n? l r k\uff1a\u533a\u95f4\u67e5\u8be2\uff0c\u67e5\u8be2\u533a\u95f4 [l, r] \u8303\u56f4\u91cc\u7684 \\(\\sum_{i=l}^{r} A[i] * (i &#8211; l + 1) ^ k\\)  \u3002<\/p>\n<h3>Analysis: <\/h3>\n<p>&#8230;\u7ebf\u6bb5\u6811\u3001\u4e8c\u9879\u5f0f\u5b9a\u7406\u3002\u3002<\/p>\n<p>\u3002\u3002\u505a\u8fc7 UPIT \u7684\u8bdd\u90fd\u5e94\u8be5\u4f1a K = 1 \u7684\u3002\u3002K \u7a0d\u5fae\u5927\u4e00\u70b9\u65b9\u6cd5\u7c7b\u4f3c\u3002\u3002\u3002\u663e\u7136\u5bf9\u6bcf\u4e2a\u4f4d\u7f6e i\u3002\u3002\u6211\u4eec\u8981\u7ef4\u62a4 (i^k) A[i] \u3002\u3002<br \/>\n\u3002\u3002\u3002\u90a3\u4e48\u5bf9\u6211\u4eec\u8981\u6c42\u7684 \\((i-l+1)^k A[i]\\) \u8fdb\u884c\u4e8c\u9879\u5f0f\u5c55\u5f00\u3002\u3002\u5f97\u5230\u3002\u3002<br \/>\n\\[i^k + i^{k-1}(1-i) + i^{k-2}(1-i)^2 + \\ldots + (1-i)^k \\]<br \/>\n\u3002\u3002\u679a\u4e3e\u91cc\u9762\u7684\u6bcf\u4e00\u9879\u3002\u3002\u3002\u7528\u7ebf\u6bb5\u6811\u7ef4\u62a4\u51fa\u6765\u5c31\u884c\u4e86\u3002\u3002\u3002<\/p>\n<p><a href=\"http:\/\/codeforces.com\/contest\/266\/submission\/3009701\">http:\/\/codeforces.com\/contest\/266\/submission\/3009701<\/a><\/p>\n<pre class=\"brush: cpp; collapse: true; first-line: 1; light: false; title: ; toolbar: true; notranslate\" title=\"\">\r\n\/\/}\/* .................................................................................................................................. *\/\r\n\r\nconst int N = 100009, K = 6;\r\nint C&#x5B;K]&#x5B;K], S&#x5B;N]&#x5B;K], A&#x5B;N];\r\n\r\n#define lx (x&lt;&lt;1)\r\n#define rx (lx|1)\r\n#define mid (l+r&gt;&gt;1)\r\n#define lc lx, l, mid\r\n#define rc rx, mid+1, r\r\n#define root 1, 1, n\r\n\r\nint vl&#x5B;4*N]&#x5B;K], bj&#x5B;4*N], a, b, v, k;\r\n\r\ninline void apply(int x, int l, int r, int v){\r\n    bj&#x5B;x] = v; REP(i, K) vl&#x5B;x]&#x5B;i] = pdt(dff(S&#x5B;r]&#x5B;i], S&#x5B;l-1]&#x5B;i]), v);\r\n}\r\n\r\n#define update REP(i, K) vl&#x5B;x]&#x5B;i] = sum(vl&#x5B;lx]&#x5B;i], vl&#x5B;rx]&#x5B;i]);\r\n#define release if (bj&#x5B;x] != -1){       \\\r\n    apply(lc, bj&#x5B;x]), apply(rc, bj&#x5B;x]); \\\r\n    bj&#x5B;x] = -1;                         \\\r\n}\t\t\t\t\t\t                \\\r\n\r\nvoid Build(int x, int l, int r){\r\n    bj&#x5B;x] = -1;\r\n    if (l == r) REP(i, K) vl&#x5B;x]&#x5B;i] = pdt(A&#x5B;l], pow(l, i)); \/\/#\r\n    else {\r\n        Build(lc), Build(rc);\r\n        update;\r\n    }\r\n}\r\n\r\nvoid Modify(int x, int l, int r){\r\n    if (r &lt; a || b &lt; l) return;\r\n    if (a &lt;= l &amp;&amp; r &lt;= b) apply(x, l, r, v);\r\n    else {\r\n        release;\r\n        Modify(lc), Modify(rc);\r\n        update;\r\n    }\r\n}\r\n\r\nint Query(int x, int l, int r){\r\n    if (r &lt; a || b &lt; l) return 0;\r\n    if (a &lt;= l &amp;&amp; r &lt;= b) return vl&#x5B;x]&#x5B;k];\r\n    else {\r\n        release;\r\n        return sum(Query(lc), Query(rc));\r\n    }\r\n}\r\n\r\nint n, m;\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\tRD(n, m); REP_1(i, n) RD(A&#x5B;i]);\r\n\tREP(i, K){C&#x5B;i]&#x5B;0] = 1; REP_1(j, i) C&#x5B;i]&#x5B;j] = sum(C&#x5B;i-1]&#x5B;j-1], C&#x5B;i-1]&#x5B;j]);}\r\n\tREP_1(i, n) REP(j, K) S&#x5B;i]&#x5B;j] = sum(S&#x5B;i-1]&#x5B;j], pow(i,j));\r\n\r\n    Build(root); char cmd; DO(m){\r\n        \r\n        RC(cmd); RD(a, b, v);\r\n\r\n        if(cmd == '=') Modify(root);\r\n        else{\r\n            int res = 0, t = 1; FOR_1(i, 0, v){\r\n                k = v - i; INC(res, pdt(Query(root), C&#x5B;v]&#x5B;i], t));\r\n                MUL(t, dff(1, a));\r\n            }\r\n            OT(res);\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<h3>External link: <\/h3>\n<p><a href=\"http:\/\/blog.csdn.net\/shiqi_614\/article\/details\/8534666\">http:\/\/blog.csdn.net\/shiqi_614\/article\/details\/8534666<\/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":[18],"tags":[],"class_list":["post-650","post","type-post","status-publish","format-standard","hentry","category-codeforces"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2tdP7-au","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/650","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=650"}],"version-history":[{"count":1,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/650\/revisions"}],"predecessor-version":[{"id":652,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/650\/revisions\/652"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/media?parent=650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/categories?post=650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/tags?post=650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}