{"id":1221,"date":"2024-10-26T09:00:00","date_gmt":"2024-10-26T01:00:00","guid":{"rendered":"https:\/\/seanxd.com\/?p=1221"},"modified":"2024-09-23T12:10:23","modified_gmt":"2024-09-23T04:10:23","slug":"zerojudge-f581","status":"publish","type":"post","link":"https:\/\/seanxd.com\/en\/zerojudge-f581\/","title":{"rendered":"ZeroJudge F581: Ring Exit"},"content":{"rendered":"\n<p>\u6709&nbsp;n&nbsp;\u500b\u623f\u9593\u6392\u6210\u4e00\u500b\u74b0\uff0c\u7de8\u865f\u5206\u5225\u662f&nbsp;0&nbsp;\u5230&nbsp;n\u22121\u3002<\/p>\n\n\n\n<p>\u623f\u9593\u4e4b\u9593\u6709\u55ae\u5411\u7684\u8def\u5f91\uff0c\u7de8\u865f\u00a0i\u00a0\u7684\u623f\u9593\u53ef\u4ee5\u8d70\u5230\u7de8\u865f\u00a0(i+1) mod n \u7684\u623f\u9593\u3002<\/p>\n\n\n\n<p>\u6bcf\u6b21\u9032\u5165\u7de8\u865f&nbsp;i&nbsp;\u7684\u623f\u9593\u53ef\u4ee5\u7372\u5f97&nbsp;pi&nbsp;\u500b\u9ede\u6578\uff08\u6700\u4e00\u958b\u59cb\u5f85\u7684\u623f\u9593\u4e5f\u53ef\u4ee5\u7372\u5f97\u9ede\u6578\uff09\u3002<\/p>\n\n\n\n<p>\u73fe\u5728\u4f9d\u5e8f\u6709\u00a0m\u00a0\u500b\u4efb\u52d9\uff0c\u7b2c\u00a0i\u00a0\u500b\u4efb\u52d9\u9700\u8981\u8490\u96c6\u5230\u00a0qi\u00a0\u500b\u9ede\u6578\u3002\u5c0d\u65bc\u6bcf\u6b21\u7684\u4efb\u52d9\uff0c\u82e5\u4e00\u958b\u59cb\u5728\u7de8\u865f\u00a0s\u00a0\u7684\u623f\u9593\uff0c\u4e14\u8d70\u5230\u7de8\u865f\u00a0t\u00a0\u7684\u623f\u9593\u6642\u5019\u53ef\u4ee5\u8490\u96c6\u5230\u9700\u8981\u7684\u9ede\u6578\uff0c\u5247\u5b8c\u6210\u9019\u6b21\u4efb\u52d9\u5f8c\u6703\u505c\u5728\u7de8\u865f\u00a0(t+1) mod n\u00a0\u7684\u623f\u9593\u3002<\/p>\n\n\n\n<p>\u4e00\u958b\u59cb\u5728\u7de8\u865f&nbsp;0&nbsp;\u7684\u623f\u9593\uff0c\u4f9d\u64da\u63a5\u6536\u5230&nbsp;m&nbsp;\u500b\u4efb\u52d9\uff0c\u8acb\u6c42\u51fa\u5b8c\u6210\u7b2c&nbsp;m&nbsp;\u500b\u4efb\u52d9\u5f8c\u6703\u505c\u5728\u54ea\u500b\u7de8\u865f\u7684\u623f\u9593\uff1f<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u7bc4\u4f8b\u6e2c\u8cc7<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7bc4\u4f8b\u8f38\u5165<\/th><th>\u7bc4\u4f8b\u8f38\u51fa<\/th><\/tr><\/thead><tbody><tr><td>\u7b2c\u4e00\u884c\u5305\u542b\u5169\u500b\u6b63\u6574\u6578 N \u548c M (1 &lt;= N &lt;= 200000\u30011 &lt;= M &lt;= 20000)\u3002<br>\u7b2c\u4e8c\u884c\u5305\u542b N \u500b\u6b63\u6574\u6578 P<sub>i<\/sub>\uff0cP \u7684\u7e3d\u548c\u4e0d\u8d85\u904e 10<sup>9<\/sup>\u3002<br>\u7b2c\u4e09\u884c\u5305\u542b M \u500b\u6b63\u6574\u6578 Q<sub>i<\/sub>\uff0cQ<sub>i<\/sub> \u4e0d\u6703\u8d85\u904e P \u7684\u7e3d\u548c\u3002<\/td><td>\u8f38\u51fa\u4e00\u500b\u975e\u8ca0\u6574\u6578\u8868\u793a\u6700\u5f8c\u505c\u5728\u54ea\u500b\u7de8\u865f\u7684\u623f\u9593\u3002<\/td><\/tr><tr><td>7 3<br>2 1 5 4 3 5 3<br>8 9 12<\/td><td>4<\/td><\/tr><tr><td>4 3<br>1 3 5 7<br>4 2 2<\/td><td>0<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">ZeroJudge F581 \u7bc4\u4f8b\u6e2c\u8cc7<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u89e3\u984c\u601d\u8def<\/h2>\n\n\n\n<p>\u4f7f\u7528\u4e8c\u5206\u641c\u5c0b\uff0c\u53ea\u662f\u76ee\u6a19\u6539\u6210 Q<sub>i<\/sub> + \u76ee\u524d\u4f4d\u7f6e\u7684\u524d\u7db4\u548c\uff0c\u4e26\u4e14\u8981\u5c07\u7d50\u679c % N\u3002\u5982\u679c\u76ee\u6a19\u5927\u65bc\u6700\u5927\u7684\u524d\u7db4\u548c (\u6700\u5f8c\u4e00\u500b\u6578\u5b57)\uff0c\u5247\u5c07\u76ee\u6a19 -= \u6700\u5927\u524d\u7db4\u548c\u3002\u6700\u5f8c\u8f38\u51fa\u6700\u7d42\u4f4d\u7f6e\u5373\u53ef\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7bc4\u4f8b\u7a0b\u5f0f\u78bc\uff0d<a href=\"https:\/\/zerojudge.tw\/ShowProblem?problemid=f581\" target=\"_blank\" rel=\"noreferrer noopener\">ZeroJudge F581: \u5713\u74b0\u51fa\u53e3<\/a><\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-cpp\" data-lang=\"C++\"><code>#include &lt;iostream&gt;\nusing namespace std;\n\nint N, M, num[200000] = {}, prefix[200000] = {};\n\nint binary(const int L, const int R, const int target) {\n    if (L &gt;= R) return R;\n    const int middle = (L+R)\/2;\n    if (target &gt; prefix[middle]) {\n        return binary(middle+1, R, target);\n    }\n    return binary(L, middle, target);\n}\n\nint main() {\n    cin.sync_with_stdio(0);\n    cin.tie(0);\n    cin &gt;&gt; N &gt;&gt; M;\n    int sum = 0;\n    prefix[0] = 0;\n    for (int i = 0; i&lt;N; i++) {\n        cin &gt;&gt; num[i];\n        sum += num[i];\n        prefix[i+1] = sum;\n    }\n    int position = 0;\n    for (int i = 0; i&lt;M; i++) {\n        int Q;\n        cin &gt;&gt; Q;\n        int target = Q+prefix[position];\n        if (target &gt; prefix[N]) target -= prefix[N];\n        position = binary(0, N, target) % N;\n    }\n    cout &lt;&lt; position &lt;&lt; &quot;\\n&quot;;\n}\n\n\/\/ZeroJudge F581\n\/\/Dr. SeanXD<\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u6709&nbsp;n&nbsp;\u500b\u623f\u9593\u6392\u6210\u4e00\u500b\u74b0\uff0c\u7de8\u865f\u5206\u5225\u662f&nbsp;0&nbsp;\u5230&nbsp;n\u22121\u3002 \u623f\u9593 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","footnotes":""},"categories":[25],"tags":[20,41,8,13,9],"class_list":["post-1221","post","type-post","status-publish","format-standard","hentry","category-ioi-apcs","tag-20","tag-41","tag-8","tag-13","tag-9"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/posts\/1221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/comments?post=1221"}],"version-history":[{"count":2,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/posts\/1221\/revisions"}],"predecessor-version":[{"id":1223,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/posts\/1221\/revisions\/1223"}],"wp:attachment":[{"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/media?parent=1221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/categories?post=1221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/seanxd.com\/en\/wp-json\/wp\/v2\/tags?post=1221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}