{"id":288,"date":"2026-11-04T11:41:46","date_gmt":"2026-11-04T03:41:46","guid":{"rendered":"https:\/\/blog.vblg.top\/?p=288"},"modified":"2026-11-04T11:41:49","modified_gmt":"2026-11-04T03:41:49","slug":"csp-s-2026-%e6%b8%b8%e8%ae%b0","status":"publish","type":"post","link":"https:\/\/blog.vblg.top\/index.php\/archives\/288","title":{"rendered":"CSP-S 2026 \u6e38\u8bb0"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u534e\u4e8c\u7d2b\u7af9\uff0c2026-10-31T14:30+08:00~2026-10-31T18:30+08:00\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">timeline (git commit history):<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>14:39 init \uff08\u5e26 diff.sh\uff09<\/li>\n\n\n\n<li>14:58 T1 45 pts<\/li>\n\n\n\n<li>15:26 T1 100 pts<\/li>\n\n\n\n<li>15:34 \u4e3a T1 \u5199\u4e86 gen<\/li>\n\n\n\n<li>16:04 T2 20pts\uff08\u5b9e\u9645 36 pts\uff09<\/li>\n\n\n\n<li>16:15 T2 60 pts\uff08\u5b9e\u9645 68 pts\uff09<\/li>\n\n\n\n<li>16:19 T2 \u5f00 long long<\/li>\n\n\n\n<li>16:22 T1 \u5bf9\u62cd\u53d1\u73b0\u6709\u4e00\u4e2a\u53d8\u91cf\u6ca1\u5f00 long long\uff08\u611f\u8c22 diff.sh\uff09<\/li>\n\n\n\n<li>16:50 \u4e3a T2 \u5199\u4e86 gen\uff08\u7136\u800c gen \u7684\u6570\u636e\u5e76\u4e0d\u4fdd\u8bc1\u56fe\u8fde\u901a \u8fd9\u4e2a\u8003\u573a\u4e0a\u5bfc\u81f4\u597d\u591a\u6b21\u8bef\u5224\uff09<\/li>\n\n\n\n<li>17:07 \u56e0\u4e3a T2 gen \u7684\u6784\u9020\u7684\u6570\u636e\u95ee\u9898\u5bfc\u81f4\u4e0d\u5fc5\u8981\u7684 long long \u548c\u7279\u5224<\/li>\n\n\n\n<li>17:59 \u4f9d\u65e7\u5361 T2\uff0cT3 T4 \u6beb\u65e0\u63a8\u8fdb<\/li>\n\n\n\n<li>\uff08\u7ea6\uff0918:20 \u53d1\u73b0 T2 \u5e76\u65e0\u95ee\u9898\uff0c\u5c1d\u8bd5\u5199 T3 T4 \u66b4\u529b\uff0c\u7136\u800c\u65f6\u95f4\u4e0d\u591f<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">T1<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u5f00\u59cb\u4ee5\u4e3a\u7b54\u6848\u662f\u5173\u4e8e\u6700\u7ec8\u76f8\u7b49\u7684\u6570\u5355\u8c03\u7684\uff0c\u60f3\u5199\u4e8c\u5206\uff0c\u53d1\u73b0\u7b2c\u4e8c\u4e2a\u6837\u4f8b\u8bc1\u4f2a\u4e86\u8fd9\u4e00\u7ed3\u8bba\u3002\u53d1\u73b0\u6700\u7ec8\u76f8\u540c\u7684\u6570\u4e00\u5b9a\u662f <math data-latex=\"a_i (i \\in [1, n])\"><semantics><mrow><msub><mi>a<\/mi><mi>i<\/mi><\/msub><mo form=\"prefix\" stretchy=\"false\">(<\/mo><mi>i<\/mi><mo>\u2208<\/mo><mo form=\"prefix\" stretchy=\"false\">[<\/mo><mn>1<\/mn><mo separator=\"true\">,<\/mo><mi>n<\/mi><mo form=\"postfix\" stretchy=\"false\">]<\/mo><mo form=\"postfix\" stretchy=\"false\">)<\/mo><\/mrow><annotation encoding=\"application\/x-tex\">a_i (i \\in [1, n])<\/annotation><\/semantics><\/math>\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5148\u5199\u4e86\u4e2a<a href=\"https:\/\/git.vblg.top\/hanyixuanten\/csps2026\/src\/commit\/bf08016dee210d518b187b7730a4f8f27ae47f24\/crystal\/crystal.cpp\" data-type=\"link\" data-id=\"https:\/\/git.vblg.top\/hanyixuanten\/csps2026\/src\/commit\/bf08016dee210d518b187b7730a4f8f27ae47f24\/crystal\/crystal.cpp\"> 45pts \u7684\u66b4\u529b<\/a>\u3002\u6b64\u65f6\u8003\u8bd5\u5df2\u5f00\u59cb 28 min\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8003\u8651\u5230\u4f7f\u7528\u4e8c\u5206 + \u524d\u7f00\u548c\u4f18\u5316<a href=\"https:\/\/git.vblg.top\/hanyixuanten\/csps2026\/src\/commit\/bf08016dee210d518b187b7730a4f8f27ae47f24\/crystal\/crystal.cpp#L12-L13\">\u5bfb\u627e ans \u7684\u8fc7\u7a0b<\/a>\u3002\u4f46\u662f\u56e0\u4e3a\u4e8c\u5206\u51fa\u6765\u7684\u7b54\u6848\u4e00\u76f4\u591a 1 \u6216\u5c11 1\uff0c\u5c31\u51fa\u73b0\u4e86<a href=\"https:\/\/git.vblg.top\/hanyixuanten\/csps2026\/src\/commit\/8b21377d1fa3208ef8d27b7592e91d1dbf8a40fc\/crystal\/crystal.cpp#L22-L23\" data-type=\"link\" data-id=\"https:\/\/git.vblg.top\/hanyixuanten\/csps2026\/src\/commit\/8b21377d1fa3208ef8d27b7592e91d1dbf8a40fc\/crystal\/crystal.cpp#L22-L23\">\u8fd9\u51e0\u884c\u4ee3\u7801\uff08\u7b11\u54ed\uff09<\/a>\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7136\u800c\uff0c\u6700\u5f00\u59cb\u7684\u65f6\u5019 <a href=\"https:\/\/git.vblg.top\/hanyixuanten\/csps2026\/src\/commit\/8b21377d1fa3208ef8d27b7592e91d1dbf8a40fc\/crystal\/crystal.cpp#L7\">checkb \u51fd\u6570\u7684 now \u6ca1\u5f00 long long<\/a>\uff0c\u5dee\u70b9 100-&gt;65\uff0cdiff.sh \u7acb\u5927\u529f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9644 <a href=\"https:\/\/git.vblg.top\/hanyixuanten\/csps2026\/src\/commit\/c9a42541c404d2b6395e49b9c35e4eb71109327b\/crystal\/gen.cpp\">gen.cpp<\/a>\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">T2<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5176\u5b9e\u8003\u8bd5\u5f00\u59cb 34 min \u5c31\u60f3\u51fa\u4e86<a href=\"https:\/\/git.vblg.top\/hanyixuanten\/csps2026\/src\/commit\/64eda003fc35794e1805274785a058db89a21eeb\/subway\/subway.cpp#L49\">\u201c500 \u6761\u7ebf\u8def\u5404\u89c6\u4e3a\u56fe\u4e0a\u7684\u4e00\u4e2a\u70b9\uff0c\u5206\u522b\u548c\u5730\u94c1\u7ad9\u8fde\u7ebf\u201d<\/a>\uff0c\u4f46\u662f\u7531\u4e8e\u65e0\u8d1f\u8fb9\u6743\uff0c\u81ea\u7136\u7684\u60f3\u5230\u4e86 dij\uff0c\u540e\u7eed\u53c8\u52a0\u5165\u4e86\u9884\u5904\u7406\u4f18\u5316\uff0c16:15 \u5199\u5b8c\u540e\u53d1\u73b0\u5e76\u4e0d\u80fd\u901a\u8fc7\u6700\u540e\u4e24\u4e2a\u5927\u6837\u4f8b\uff083s\uff09\u3002\u7136\u800c\u5e76\u6ca1\u6709\u60f3\u5230 <math data-latex=\"O(n^3)\"><semantics><mrow><mi>O<\/mi><mo form=\"prefix\" stretchy=\"false\">(<\/mo><msup><mi>n<\/mi><mn>3<\/mn><\/msup><mo form=\"postfix\" stretchy=\"false\">)<\/mo><\/mrow><annotation encoding=\"application\/x-tex\">O(n^3)<\/annotation><\/semantics><\/math> \u7684 Floyd \u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\u66f4\u5feb\u3002\uff08\u5199\u8fd9\u7bc7\u8bb0\u5f55\u7684\u65f6\u5019\u8fd8\u6ca1\u6709\u6b63\u5f0f\u51fa\u6210\u7ee9\uff0c\u82e5 CCF \u7684\u8bc4\u6d4b\u673a\u53d1\u529b\u5219\u53ef\u80fd\u591a\u70b9\u5206\u3002\uff09<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9644 <a href=\"https:\/\/git.vblg.top\/hanyixuanten\/csps2026\/src\/commit\/e4991898d0b1585aa9d86a0737da057bd388de58\/subway\/gen.cpp\">gen.cpp<\/a>\u3002\u6ce8\u610f\u8fd9\u4e2a gen.cpp \u751f\u6210\u7684\u56fe\u4e0d\u4fdd\u8bc1\u8fde\u901a\uff0c\u6240\u4ee5\u5982\u679c\u4ee3\u7801\u8f93\u51fa\u4e86 inf \u6216\u662f\u8d1f\u6570\u4e00\u822c\u662f\u56fe\u4e0d\u8fde\u901a\u5bfc\u81f4\uff0c\u53ef\u5ffd\u7565\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">T3 T4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u7531\u4e8e\u6b7b\u78d5 T2 \u8fde\u66b4\u529b\u90fd\u6ca1\u6709\u5199\uff0c\u8840\u4e8f 20-60pts\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u603b\u7ed3<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5bf9\u62cd\u3001diff.sh \u7acb\u5927\u529f\u3002<\/li>\n\n\n\n<li>\u7531\u4e8e\u968f\u673a\u6570\u53ea\u4f1a\u7528 time(0) \u4f5c\u4e3a\u79cd\u5b50\uff0c\u5bfc\u81f4\u5bf9\u62cd\u6548\u7387\u5927\u5927\u4e0b\u964d\uff0c\u8fde\u7eed\u62cd\u4e86\u534a\u4e2a\u5c0f\u65f6\u624d\u53d1\u73b0 T1 \u7684\u95ee\u9898\u3002<\/li>\n\n\n\n<li>\u8fc7\u5ea6\u7684\u6b7b\u78d5 T2 \u5bfc\u81f4 T3 T4 \u66b4\u529b\u6ca1\u5199\u3002<\/li>\n\n\n\n<li>\u5bf9\u7b97\u6cd5\u590d\u6742\u5ea6 (dij) \u6709\u9519\u8bef\u4f30\u6d4b\uff0c\u5ffd\u89c6\u51b7\u95e8\u7b97\u6cd5 (Floyd)\uff0c\u5bfc\u81f4 T2 100 -&gt; 68\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u9644 diff.sh\uff08linux\uff0c\u6ce8\u610f\u5bf9\u62cd\u4ee3\u7801\u5747\u65e0\u9700\u5f00\u6587\u4ef6\u8bfb\u5199\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n\ng++ sol1.cpp -o sol1 -O2 -std=c++14 -static\ng++ sol2.cpp -o sol2 -O2 -std=c++14 -static\ng++ gen.cpp -o gen -O3 -std=c++14 -static\nfor i in {1..10000}; do\n    gen > in\n    sol1 &lt; in > a\n    sol2 &lt; in > b\n    if ! diff -q a b > \/dev\/null; then\n        echo wa\n        cp in wa.in\n        cp a wa1.out\n        cp b wa2.out\n        break\n    fi\n    echo success $i\ndone<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>CSP-S 2026 \u6e38\u8bb0\uff08\u6302\u5206\u8bb0\uff09<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","wpai_generated_summary":"","wpai_meta_description":"\u8fd9\u7bc7\u534e\u4e8c\u7d2b\u7af92026\u4fe1\u606f\u5b66\u7ade\u8d5b\u5168\u8bb0\u5f55\uff0c\u5b8c\u6574\u590d\u76d84\u5c0f\u65f6\u8003\u8bd5 timeline\uff1aT1 \u4ece45\u5206\u5230\u6ee1\u5206\u9760diff.sh\u6551\u573a\u3001T2\u6b7b\u78d5Dijkstra\u5374\u6ca1\u60f3\u5230Floyd\u66f4\u5feb\u3001\u6b7b\u78d5T2\u9519\u8fc7T3T4\u66b4\u529b\u4e22\u5206\u7684\u771f\u5b9e\u8e29\u5751\u8fc7\u7a0b\uff0c\u9644\u5e26\u53ef\u76f4\u63a5\u7528\u7684\u5bf9\u62cd\u811a\u672c\u548c\u751f\u6210\u5668\u6e90\u7801\uff0c\u5e2eOIer\u907f\u5751\u3002","footnotes":""},"categories":[51],"tags":[56,55,57,52,53,54],"class_list":["post-288","post","type-post","status-publish","format-standard","hentry","category-51","tag-ccf","tag-csp","tag-csp-s","tag-oi","tag-53","tag-54"],"_links":{"self":[{"href":"https:\/\/blog.vblg.top\/index.php\/wp-json\/wp\/v2\/posts\/288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.vblg.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.vblg.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.vblg.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.vblg.top\/index.php\/wp-json\/wp\/v2\/comments?post=288"}],"version-history":[{"count":2,"href":"https:\/\/blog.vblg.top\/index.php\/wp-json\/wp\/v2\/posts\/288\/revisions"}],"predecessor-version":[{"id":290,"href":"https:\/\/blog.vblg.top\/index.php\/wp-json\/wp\/v2\/posts\/288\/revisions\/290"}],"wp:attachment":[{"href":"https:\/\/blog.vblg.top\/index.php\/wp-json\/wp\/v2\/media?parent=288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.vblg.top\/index.php\/wp-json\/wp\/v2\/categories?post=288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.vblg.top\/index.php\/wp-json\/wp\/v2\/tags?post=288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}