运行它!!!
2026-04-05 21:07:45
发布于:云南
<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="robots" content="follow, index"/><title>ACGO题库-编程算法训练_信息学竞赛OJ刷题平台</title><meta name="keywords" content="acgo,acgooj,ac狗,编程,信息学,信息学竞赛,信奥,竞赛,onlineJudge,OJ,ACM,CSP-J/S,GESP,NOIP,CCPC,NOI,OI,ICPC,OJ,C++,算法,刷题,题解,编程,算法"/><meta name="description" content="ACGO(Acgo.Cn)是专业的编程算法训练平台,ACGO致力于为参加CSP-J/S、GESP、NOIP、NOI、ACM的选手提供清爽、快捷的编程体验。适合初级小白C++编程入门训练,包含CSP入门级提高级赛前集训、提高组普及组训练,ACM区域赛前多校训练营,是学习NOIP等竞赛时理想的网站。"/><meta name="next-head-count" content="6"/><meta charSet="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><meta name="force-rendering" content="webkit"/><meta name="renderer" content="webkit"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="theme-color" content="#0f1a2b"/><link rel="stylesheet" href="/fonts/iconfont.css"/><meta name="msvalidate.01" content="A033AD016D4920E0C8C8C392882AB7E7"/><link rel="preload" href="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/css/51b78a7c7176260c.css" as="style"/><link rel="stylesheet" href="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/css/51b78a7c7176260c.css" data-n-g=""/><link rel="preload" href="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/css/8ac6fad5fc362ef5.css" as="style"/><link rel="stylesheet" href="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/css/8ac6fad5fc362ef5.css" data-n-p=""/><link rel="preload" href="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/css/13805d2d7043eedc.css" as="style"/><link rel="stylesheet" href="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/css/13805d2d7043eedc.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/chunks/webpack-39c43dbbacdf3621.js" defer=""></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/chunks/framework-200d52b73c3f3d4c.js" defer=""></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/chunks/main-52fc7c69ee2f31cc.js" defer=""></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/chunks/pages/_app-51bdf607a3ddaa01.js" defer=""></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/chunks/29107295-91ba66c9e3db4ecd.js" defer=""></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/chunks/3325-7f4359b2edb485e6.js" defer=""></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/chunks/2609-3627378962bab195.js" defer=""></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/chunks/9093-96fa3680dee145ec.js" defer=""></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/chunks/pages/index-ad2486a5a2e72450.js" defer=""></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/YNe8B7firyGHbDnyofiNm/_buildManifest.js" defer=""></script><script src="//xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/1.0.1/prod/_next/static/YNe8B7firyGHbDnyofiNm/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="index_criticalPointPage__Lnn2p"><header class="index_header__mmxqW"><div class="index_headerContent__EClqO"><nav class="index_nav__fufhn"><a class="index_logoWrap__Rq9HN index_navLink__JpW60" href="/"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27101%27%20height=%2728%27/%3e"/></span><img alt="acgo题库" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="index_logo__M_tF9" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%"/><noscript><img alt="acgo题库" srcSet="/_next/image?url=https%3A%2F%2Fxmcdn.oss-cn-shanghai.aliyuncs.com%2Fcpp_community%2Fimages%2Flogo.png&w=128&q=100 1x, /_next/image?url=https%3A%2F%2Fxmcdn.oss-cn-shanghai.aliyuncs.com%2Fcpp_community%2Fimages%2Flogo.png&w=256&q=100 2x" src="/_next/image?url=https%3A%2F%2Fxmcdn.oss-cn-shanghai.aliyuncs.com%2Fcpp_community%2Fimages%2Flogo.png&w=256&q=100" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="index_logo__M_tF9" loading="lazy"/></noscript></span></a><ul class="index_navList___gEoz"><li class="index_navItem___pOt1"><a href="/" class="index_navLink__JpW60">首页</a></li><li class="index_navItem___pOt1"><a href="/problemset/" class="index_navLink__JpW60">题库</a></li><li class="index_navItem___pOt1"><a href="/collection/" class="index_navLink__JpW60">学习</a></li><li class="index_navItem___pOt1"><a class="index_navLink__JpW60">天梯</a></li><li class="index_navItem___pOt1"><h4 class="index_navLink__JpW60 ">备赛</h4><div class="index_secondNavList__OOGUp"><div class="index_menuWrap__uFHG9"><p class="index_menuWrapTitle__HWEZQ">竞赛</p><ul><li class="index_menuItem__ALFW0"><a class="index_menu__mVXvG " href="/practice/info?matchSourceId=1&subjectType=3">CSP-J/S</a></li><li class="index_menuItem__ALFW0"><a class="index_menu__mVXvG " href="/practice/info?matchSourceId=8&subjectType=3">蓝桥杯</a></li></ul></div><div class="index_menuWrap__uFHG9"><p class="index_menuWrapTitle__HWEZQ">考级</p><ul><li class="index_menuItem__ALFW0"><a class="index_menu__mVXvG " href="/practice/info?matchSourceId=2&subjectType=3">GESP</a></li><li class="index_menuItem__ALFW0"><a class="index_menu__mVXvG " href="/practice/info?matchSourceId=3&subjectType=3">CPA</a></li><li class="index_menuItem__ALFW0"><a class="index_menu__mVXvG " href="/practice/info?matchSourceId=4&subjectType=3">电子学会考级</a></li></ul></div></div></li><li class="index_navItem___pOt1"><a href="/contest/" class="index_navLink__JpW60">竞赛</a></li><li class="index_navItem___pOt1"><a href="/discuss/" class="index_navLink__JpW60">讨论</a></li><li class="index_navItem___pOt1"><a href="/team/" class="index_navLink__JpW60">团队</a></li><li class="index_navItem___pOt1"><a href="/mall/" class="index_navLink__JpW60">商城</a></li></ul></nav><div class="index_login__kBpS6"><div class="index_btn__GOyBf">登录</div><div class="index_btn__GOyBf">注册</div></div></div><div class="index_headerBg__AqdOm"><div class="index_headerInnerBg__5UzB6"></div></div></header><main class="index_main__8vV6G"><header class="home_header__10nqc"><section class="Banner_bannerSec__c_Q27"><div class="slick-slider slick-initialized" dir="ltr"><button type="button" data-role="none" class="slick-arrow slick-prev" style="display:block"> <!-- -->Previous</button><div class="slick-list"><div class="slick-track" style="width:900%;left:-100%"><div data-index="-1" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:11.11111111111111%"><div><div class="Banner_link__psl7C" tabindex="-1" style="width:100%;display:inline-block"><div style="background:#090a0c;cursor:pointer"><img class="Banner_banner__2_JZ9" src="https://attach.acgo.cn/picture/88b9d60f7f1f440cb7441b76ec749fa3.png" alt="校赛宣传"/></div></div></div></div><div data-index="0" class="slick-slide slick-active slick-current" tabindex="-1" aria-hidden="false" style="outline:none;width:11.11111111111111%"><div><div class="Banner_link__psl7C" tabindex="-1" style="width:100%;display:inline-block"><div style="background:#23285D;cursor:pointer"><img class="Banner_banner__2_JZ9" src="https://attach.acgo.cn/picture/ba2a5adefa4b4ffb9d3c263888ca9cef.png" alt="天梯闯关"/></div></div></div></div><div data-index="1" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:11.11111111111111%"><div><div class="Banner_link__psl7C" tabindex="-1" style="width:100%;display:inline-block"><div style="background:#629bf7;cursor:pointer"><img class="Banner_banner__2_JZ9" src="https://attach.acgo.cn/picture/762581aa4d8948bbbb6f157cc7049473.png" alt="码上开聊VOL14 | 童瑞骐"/></div></div></div></div><div data-index="2" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:11.11111111111111%"><div><div class="Banner_link__psl7C" tabindex="-1" style="width:100%;display:inline-block"><div style="background:#73dbff;cursor:pointer"><img class="Banner_banner__2_JZ9" src="https://attach.acgo.cn/picture/8cd509bd78d74c41b0781ab18349d19a.png" alt="精选帖招募"/></div></div></div></div><div data-index="3" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:11.11111111111111%"><div><div class="Banner_link__psl7C" tabindex="-1" style="width:100%;display:inline-block"><div style="background:#090a0c;cursor:pointer"><img class="Banner_banner__2_JZ9" src="https://attach.acgo.cn/picture/88b9d60f7f1f440cb7441b76ec749fa3.png" alt="校赛宣传"/></div></div></div></div><div data-index="4" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:11.11111111111111%"><div><div class="Banner_link__psl7C" tabindex="-1" style="width:100%;display:inline-block"><div style="background:#23285D;cursor:pointer"><img class="Banner_banner__2_JZ9" src="https://attach.acgo.cn/picture/ba2a5adefa4b4ffb9d3c263888ca9cef.png" alt="天梯闯关"/></div></div></div></div><div data-index="5" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:11.11111111111111%"><div><div class="Banner_link__psl7C" tabindex="-1" style="width:100%;display:inline-block"><div style="background:#629bf7;cursor:pointer"><img class="Banner_banner__2_JZ9" src="https://attach.acgo.cn/picture/762581aa4d8948bbbb6f157cc7049473.png" alt="码上开聊VOL14 | 童瑞骐"/></div></div></div></div><div data-index="6" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:11.11111111111111%"><div><div class="Banner_link__psl7C" tabindex="-1" style="width:100%;display:inline-block"><div style="background:#73dbff;cursor:pointer"><img class="Banner_banner__2_JZ9" src="https://attach.acgo.cn/picture/8cd509bd78d74c41b0781ab18349d19a.png" alt="精选帖招募"/></div></div></div></div><div data-index="7" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:11.11111111111111%"><div><div class="Banner_link__psl7C" tabindex="-1" style="width:100%;display:inline-block"><div style="background:#090a0c;cursor:pointer"><img class="Banner_banner__2_JZ9" src="https://attach.acgo.cn/picture/88b9d60f7f1f440cb7441b76ec749fa3.png" alt="校赛宣传"/></div></div></div></div></div></div><button type="button" data-role="none" class="slick-arrow slick-next" style="display:block"> <!-- -->Next</button><ul style="display:block" class="slick-dots"><li class="slick-active"><button>1</button></li><li class=""><button>2</button></li><li class=""><button>3</button></li><li class=""><button>4</button></li></ul></div></section><section class="UserCard_userCard__bir1q"><div class="UserCard_content__kzblR"><div class="index_avatar__P9HW8 UserCard_avatar__iszjv" style="width:64px;height:64px;padding:0px"><div class="index_avatarInner__aBS59"><img class="index_avatarImg__Z6rbG" src="https://xmcdn.oss-cn-shanghai.aliyuncs.com/cpp_community/images/home/default_unlogin_avatar.png" alt="userId_undefined" loading="lazy"/></div></div><button type="button" class="index_btn__geTJ6 index_primary-btn__iXCPn index_default-shape-btn__aYK7_ UserCard_btn__OR0_Y">去登录</button></div></section></header><div class="home_container__W3xO1"><div class="home_leftWrap__csPwH"><section class="Contest_contestSec__IA_wG"><div class="Contest_secTitleWrap__2EkIM"><h4 class="Contest_sctTitle__0HKAK">近期竞赛</h4><p class="Contest_secTip__rZh9A">快来参加官方竞赛,提升个人排名吧~</p><a class="Contest_secLink__CzcO_" href="/contest/">更多 ></a></div><div><ul class="Contest_list__7Ie5y"><li class="ContestItem_contestItem__kx7FE ContestItem_miniCard__27ion"><img class="ContestItem_img__s9Ki7" width="88" height="88" src="https://attach.acgo.cn/picture/d9103331d6fd4c4d97562eb96efd7165.png" loading="lazy" alt="ACGO嘻哈赛#4图"/><div class="ContestItem_info___QD5V"><a class="ContestItem_titleWrap__I3WaL" href="/contest/detail/18041?matchRoundId=18041&examId=82378&openLevel=0"><h2 class="ContestItem_title___Iurt"><span class="ContestItem_titleInfo__fD6Hz">ACGO嘻哈赛#4</span><div class="ExamType_examType__1sKvy ExamType_examType_acgo__jQo3Z ContestItem_examTag__QpWbZ">ACGO</div><div class="ExamType_examType__1sKvy ExamType_examType_RANK__kogpT ContestItem_examTag__QpWbZ">排位赛</div></h2></a><div class="ContestItem_detail__rnMpb"><span>竞赛时间:<!-- -->2026-04-10 18:00 ~ 2026-04-12 21:59</span><span class="ContestItem_time__7OUnx">时长:<!-- -->2天3小时59分</span></div><p class="ContestItem_detail__rnMpb ContestItem_host__i71LD"><span>主办方:<!-- -->ACGO官方</span></p></div><button disabled="" type="button" class="index_btn__geTJ6 index_primary-btn__iXCPn index_default-shape-btn__aYK7_ ContestItem_contestBtn__BUds_">已报名</button><p class="ContestItem_tag__QrkmJ">距竞赛:<span class="ContestItem_countDown__wAvZa">04<!-- -->天 <!-- -->20<!-- -->:<!-- -->53<!-- -->:<!-- -->24</span></p></li><li class="ContestItem_contestItem__kx7FE ContestItem_miniCard__27ion"><img class="ContestItem_img__s9Ki7" width="88" height="88" src="https://attach.acgo.cn/picture/8e2ccc4f2db743e6b73e98a7b27bca1c.png" loading="lazy" alt="ACGO欢乐赛#71图"/><div class="ContestItem_info___QD5V"><a class="ContestItem_titleWrap__I3WaL" href="/contest/detail/17774?matchRoundId=17774&examId=82377&openLevel=0"><h2 class="ContestItem_title___Iurt"><span class="ContestItem_titleInfo__fD6Hz">ACGO欢乐赛#71</span><div class="ExamType_examType__1sKvy ExamType_examType_acgo__jQo3Z ContestItem_examTag__QpWbZ">ACGO</div><div class="ExamType_examType__1sKvy ExamType_examType_RANK__kogpT ContestItem_examTag__QpWbZ">排位赛</div></h2></a><div class="ContestItem_detail__rnMpb"><span>竞赛时间:<!-- -->2026-04-09 12:00 ~ 2026-04-12 22:00</span><span class="ContestItem_time__7OUnx">时长:<!-- -->3天10小时</span></div><p class="ContestItem_detail__rnMpb ContestItem_host__i71LD"><span>主办方:<!-- -->ACGO官方</span></p></div><button disabled="" type="button" class="index_btn__geTJ6 index_primary-btn__iXCPn index_default-shape-btn__aYK7_ ContestItem_contestBtn__BUds_">已报名</button><p class="ContestItem_tag__QrkmJ">距竞赛:<span class="ContestItem_countDown__wAvZa">03<!-- -->天 <!-- -->14<!-- -->:<!-- -->53<!-- -->:<!-- -->24</span></p></li><li class="ContestItem_contestItem__kx7FE ContestItem_miniCard__27ion"><img class="ContestItem_img__s9Ki7" width="88" height="88" src="https://attach.acgo.cn/picture/ba932eb0945742509a7de0803b21310c.png" loading="lazy" alt="ACGO欢乐赛#70图"/><div class="ContestItem_info___QD5V"><a class="ContestItem_titleWrap__I3WaL" href="/contest/detail/17773?matchRoundId=17773&examId=82291&openLevel=0"><h2 class="ContestItem_title___Iurt"><span class="ContestItem_titleInfo__fD6Hz">ACGO欢乐赛#70</span><div class="ExamType_examType__1sKvy ExamType_examType_acgo__jQo3Z ContestItem_examTag__QpWbZ">ACGO</div><div class="ExamType_examType__1sKvy ExamType_examType_RANK__kogpT ContestItem_examTag__QpWbZ">排位赛</div></h2></a><div class="ContestItem_detail__rnMpb"><span>竞赛时间:<!-- -->2026-04-02 12:00 ~ 2026-04-05 22:00</span><span class="ContestItem_time__7OUnx">时长:<!-- -->3天10小时</span></div><p class="ContestItem_detail__rnMpb ContestItem_host__i71LD"><span>主办方:<!-- -->ACGO官方</span></p></div><button type="button" class="index_btn__geTJ6 index_primary-btn__iXCPn index_default-shape-btn__aYK7_ ContestItem_contestBtn__BUds_">开始竞赛</button><p class="ContestItem_tag__QrkmJ"><i class="iconfont icon-jingsaizhong"></i>竞赛正在进行中</p></li><li class="ContestItem_contestItem__kx7FE ContestItem_miniCard__27ion"><img class="ContestItem_img__s9Ki7" width="88" height="88" src="https://attach.acgo.cn/picture/537a7b1b763f4c2ba01ee14293fa3d8e.png" loading="lazy" alt="ACGO嘻哈赛#3图"/><div class="ContestItem_info___QD5V"><a class="ContestItem_titleWrap__I3WaL" href="/contest/detail/17765?matchRoundId=17765&examId=81171&openLevel=0"><h2 class="ContestItem_title___Iurt"><span class="ContestItem_titleInfo__fD6Hz">ACGO嘻哈赛#3</span><div class="ExamType_examType__1sKvy ExamType_examType_acgo__jQo3Z ContestItem_examTag__QpWbZ">ACGO</div><div class="ExamType_examType__1sKvy ExamType_examType_RANK__kogpT ContestItem_examTag__QpWbZ">排位赛</div></h2></a><div class="ContestItem_detail__rnMpb"><span>竞赛时间:<!-- -->2026-03-12 18:00 ~ 2026-03-15 21:59</span><span class="ContestItem_time__7OUnx">时长:<!-- -->3天3小时59分</span></div><p class="ContestItem_detail__rnMpb ContestItem_host__i71LD"><span>主办方:<!-- -->ACGO官方</span></p></div></li></ul></div></section><section class="Trainning_trainningSec__m9W66"><div class="Trainning_secTitleWrap__4dgNw"><h4 class="Trainning_sctTitle__8mpuV">竞赛训练计划</h4><a class="Trainning_secLink__lCEdZ" href="/collection/">更多 ></a></div><div class="Trainning_secContent__Mqw3d"><h5 class="Trainning_wrapTitle__R6_aT">刷题推荐</h5><ul class="Trainning_list__wiH_f"><li class="Trainning_item__cfA04"><a class="Trainning_link__C6QSo" href="/collection/13414"><img class="Trainning_icon__Juk4a" src="https://attach.acgo.cn/picture/43f6a139dea8451989e7f3f909e653f7.jpg" alt="题单图标"/><p class="Trainning_title__4ghST">2024年9月GESP编程题</p><p class="Trainning_sum__I0rqE">16<!-- -->题</p><p class="Trainning_collectSum__GFKQE">111<!-- -->收藏</p></a></li><li class="Trainning_item__cfA04"><a class="Trainning_link__C6QSo" href="/collection/13412"><img class="Trainning_icon__Juk4a" src="https://attach.acgo.cn/picture/ccd2f466207748fc9f82a20f26ea1562.jpg" alt="题单图标"/><p class="Trainning_title__4ghST">2024年12月GESP编程题</p><p class="Trainning_sum__I0rqE">16<!-- -->题</p><p class="Trainning_collectSum__GFKQE">108<!-- -->收藏</p></a></li><li class="Trainning_item__cfA04"><a class="Trainning_link__C6QSo" href="/collection/13411"><img class="Trainning_icon__Juk4a" src="https://attach.acgo.cn/picture/feeabb5e21b841618acc93af1424960c.jpg" alt="题单图标"/><p class="Trainning_title__4ghST">2025年3月GESP编程题</p><p class="Trainning_sum__I0rqE">16<!-- -->题</p><p class="Trainning_collectSum__GFKQE">112<!-- -->收藏</p></a></li><li class="Trainning_item__cfA04"><a class="Trainning_link__C6QSo" href="/collection/13409"><img class="Trainning_icon__Juk4a" src="https://attach.acgo.cn/picture/ecb3cdedfbbe4ab2899617e1bb55c3a5.jpg" alt="题单图标"/><p class="Trainning_title__4ghST">2025年6月GESP编程题</p><p class="Trainning_sum__I0rqE">16<!-- -->题</p><p class="Trainning_collectSum__GFKQE">104<!-- -->收藏</p></a></li><li class="Trainning_item__cfA04"><a class="Trainning_link__C6QSo" href="/collection/9792"><img class="Trainning_icon__Juk4a" src="https://attach.acgo.cn/picture/e7caa21f5abd4b64b59852298bb23f64.png" alt="题单图标"/><p class="Trainning_title__4ghST">【CSP-S真题】</p><p class="Trainning_sum__I0rqE">30<!-- -->题</p><p class="Trainning_collectSum__GFKQE">197<!-- -->收藏</p></a></li><li class="Trainning_item__cfA04"><a class="Trainning_link__C6QSo" href="/collection/9791"><img class="Trainning_icon__Juk4a" src="https://attach.acgo.cn/picture/ce288bd1717844c19e83873ee748406d.jpg" alt="题单图标"/><p class="Trainning_title__4ghST">【CSP-J真题】</p><p class="Trainning_sum__I0rqE">28<!-- -->题</p><p class="Trainning_collectSum__GFKQE">267<!-- -->收藏</p></a></li><li class="Trainning_item__cfA04"><a class="Trainning_link__C6QSo" href="/collection/1490"><img class="Trainning_icon__Juk4a" src="https://attach.acgo.cn/picture/ee827b45b32641c38b4d41dc217a43b0.png" alt="题单图标"/><p class="Trainning_title__4ghST">广度优先搜索</p><p class="Trainning_sum__I0rqE">38<!-- -->题</p><p class="Trainning_collectSum__GFKQE">159<!-- -->收藏</p></a></li><li class="Trainning_item__cfA04"><a class="Trainning_link__C6QSo" href="/collection/1489"><img class="Trainning_icon__Juk4a" src="https://attach.acgo.cn/picture/693c8990762e4be0acbbb67c669d6fb3.jpg" alt="题单图标"/><p class="Trainning_title__4ghST">深度优先搜索</p><p class="Trainning_sum__I0rqE">30<!-- -->题</p><p class="Trainning_collectSum__GFKQE">135<!-- -->收藏</p></a></li><li class="Trainning_item__cfA04"><a class="Trainning_link__C6QSo" href="/collection/1488"><img class="Trainning_icon__Juk4a" src="https://attach.acgo.cn/picture/65e30025e56c47de887362ac0de0e44d.png" alt="题单图标"/><p class="Trainning_title__4ghST">二分</p><p class="Trainning_sum__I0rqE">20<!-- -->题</p><p class="Trainning_collectSum__GFKQE">145<!-- -->收藏</p></a></li><li class="Trainning_item__cfA04"><a class="Trainning_link__C6QSo" href="/collection/1487"><img class="Trainning_icon__Juk4a" src="https://attach.acgo.cn/picture/adef8842708e42debeb9419636d02727.png" alt="题单图标"/><p class="Trainning_title__4ghST">贪心</p><p class="Trainning_sum__I0rqE">19<!-- -->题</p><p class="Trainning_collectSum__GFKQE">162<!-- -->收藏</p></a></li></ul><div class="Trainning_randomWrap__j5ubK"><h5 class="Trainning_wrapTitle__R6_aT">每日一题</h5><a class="Trainning_questionLink__tjnfR" href="/problemset/info/91392">A91392<!-- -->.<!-- -->「AHOI2014」保龄球</a><button type="button" class="index_btn__geTJ6 index_primary-btn__iXCPn index_default-shape-btn__aYK7_ Trainning_btn1__2jnRm">去题库找题</button><div class="Trainning_btn2Wrap__MM41F"><button type="button" class="index_btn__geTJ6 index_gradient-btn__DdNY5 index_default-shape-btn__aYK7_ Trainning_btn2__qLFo3"><span class="index_gradientInnerBg__8IJIZ"></span><span class="index_gradientContent__PGeAT">随机刷题</span></button></div></div></div></section><section><div class="Discuss_secTitleWrap__lsqzl"><h4 class="Discuss_sctTitle__x109t">热门讨论</h4><a class="Discuss_secLink__N4r2O" href="/discuss/">更多 ></a></div><div class="Discuss_secContent__HOE_B"><ul class="Discuss_postList__HELz1"><li class="Discuss_postItem__SIyZo"><a class="Discuss_postLink__iqyzL" href="/discuss/post/77083"><div class="Discuss_no__KzUlF">1</div><div class="Discuss_postInfo__xoxo2"><div class="index_avatar__P9HW8 undefined" style="width:28px;height:28px;padding:0px"><div class="index_avatarInner__aBS59"><img class="index_avatarImg__Z6rbG" src="https://attach.acgo.cn/picture/86bef79ccff04644903237e864defff0.png" alt="userId_undefined" loading="lazy"/></div><img class="index_headDecoration__7pUqU" src="https://attach.acgo.cn/picture/47381ef7f47743b184a3902c358c551d.png" alt="" loading="lazy"/></div><p class="Discuss_postName__DeI8K"> 愚人节限定互动|假如报错信息学说人话</p></div><p class="Discuss_postSumary__jeqt_">愚人节限定:假如报错信息学会说人话
hi,AC狗友们,愚人节要到了,连编译器都在开玩笑!CE、WA、RE……,它们不装了!
🎯 玩法超简单:
在评论区,给任意一个报错状态“写一句内心独白”,让它变得有梗、有戏、有灵魂。
举个栗子🌰:
* CE(编译错误):“兄弟,你分号呢?我等你等了三千年。”
你可以写:
* 报错的“真实OS”(内心戏)
* 报错和代码的“对话”
* 报错给你发的“微信消息”
🎁 奖励
活动截止,评论区符合参与条件的留言
点赞TOP5每人获得:罐头 × 50
随机抽取5人,每人获得 罐头 × 20
⏰ 时间
即日起至 **2026年4月8日
💚 来吧,让那些折磨过你的报错,今天替你“说话”!
往期互动</p></a></li><li class="Discuss_postItem__SIyZo"><a class="Discuss_postLink__iqyzL" href="/discuss/post/77286"><div class="Discuss_no__KzUlF">2</div><div class="Discuss_postInfo__xoxo2"><div class="index_avatar__P9HW8 undefined" style="width:28px;height:28px;padding:0px"><div class="index_avatarInner__aBS59"><img class="index_avatarImg__Z6rbG" src="https://attach.acgo.cn/picture/4f4f27218afa4b0288f99cff62ed6204.jpg" alt="userId_undefined" loading="lazy"/></div><img class="index_headDecoration__7pUqU" src="https://attach.acgo.cn/picture/f33ce6809fb345398414080685118459.png" alt="" loading="lazy"/></div><p class="Discuss_postName__DeI8K">不想毕业</p></div><p class="Discuss_postSumary__jeqt_">不儿怎么一天没上线还上榜了
不是怎么还榜二了
我不就200个世纪没发帖子吗怎么都没人理我了555
我们班同学莫名其妙的开始疯狂找别人签名,我真是不太理解,才刚开学几周啊各位
不过在这种氛围下我也是被感染了
现在处于一种精神分裂的状态,每天晚上睡觉都会把小学所有事在脑子里过一遍,白天跑到学校去依旧平等的烦所有人,然后在某个随机时间点又突然开始放电影,我真是受不了了。。。
所以我的歌单
《记·念》《明天你好》《去明天》《2019予你成歌》
嗯对你不可以怀疑我的人品也不可以怀疑我的歌品</p></a></li><li class="Discuss_postItem__SIyZo"><a class="Discuss_postLink__iqyzL" href="/discuss/post/76510"><div class="Discuss_no__KzUlF">3</div><div class="Discuss_postInfo__xoxo2"><div class="index_avatar__P9HW8 undefined" style="width:28px;height:28px;padding:0px"><div class="index_avatarInner__aBS59"><img class="index_avatarImg__Z6rbG" src="https://attach.acgo.cn/picture/261461b687904446a32bd5b26eb85694.png" alt="userId_undefined" loading="lazy"/></div><img class="index_headDecoration__7pUqU" src="https://attach.acgo.cn/picture/316ca6dcfb394a21a85de0ecb06fe20d.png" alt="" loading="lazy"/></div><p class="Discuss_postName__DeI8K">消失的下雨天 我好想再淋一遍</p></div><p class="Discuss_postSumary__jeqt_">同步在洛谷更新
题目难度应该不会很大
括号内的是 CF 难度,如果不是 CF 的题的话可能会根据体感难度来估算一个 CF 难度(
2026.03.11
天空仍灿烂 / 它爱着大海(周杰伦 花海)
001. CF1656F PARAMETRIC MST (*2600\RED{2600}2600)
未看题解完成,用时 1hr 29min 18s。
注意到 aiaj+t(ai+aj)=(ai+t)(aj+t)−t2a_ia_j+t(a_i+a_j)=(a_i+t)(a_j+t)-t^2ai aj +t(ai +aj )=(ai +t)(aj +t)−t2(恭喜你你做完了这个题最难的一步)。最后的 t2t^2t2 是容易省去的,于是问题可以转化为:
> 对于给定的 ttt 值,你可以构造一棵 nnn 个点的完全图,其中两点 (i,j)(i,j)(i,j) 的边权是 (ai+t)(aj+t)(a_i+t)(a_j+t)(ai +t)(aj +t),记 f(t)f(t)f(t) 为按照上述步骤构造的图的 MST 边权之和,问 f(t)f(t)f(t) 是否是有上界的。
先考虑对于给定的 ttt 值怎么快速求出构造出完全图的 MST 大小。把所有点的点权 aia_iai 按照从小到大的顺序排序,那么显然此时有 a1+t≤a2+t≤…≤an+ta_1+t\le a_2+t\le\ldots\le a_n+ta1 +t≤a2 +t≤…≤an +t。容易想到记 ppp 是满足 ap+t≥0a_p+t\ge 0ap +t≥0 的 ppp 里最小的值,那么直接贪心的把 ap,ap+1,…,ana_p,a_{p+1},\ldots,a_nap ,ap+1 ,…,an 都和 a1a_1a1 连边,a2,a3,…,ap−1a_2,a_3,\ldots,a_{p-1}a2
,a3 ,…,ap−1 都和 ana_nan 连边,容易证明该贪心策略一定可以得到最优解。
把这个式子写出来,即:
∑i=pna1ai+t∑i=pn(a1+ai)+∑i=2p−1anai+t∑i=2p−1(an+ai)\sum\limits_{i=p}^na_1a_i+t\sum\limits_{i=p}^n(a_1+a_i)+\sum\limits_{i=2}^{p-1}a_na_i+t\sum\limits_{i=2}^{p-1}(a_n+a_i) i=p∑n a1 ai +ti=p∑n (a1 +ai )+i=2∑p−1 an ai +ti=2∑p−1 (an +ai )
化简式子:
a1∑i=1nai+t(n−p+1)a1+t∑i=pnai+an∑i=2p−1ai+t(p−2)an+t∑i=2p−1aia_1\sum\limits_{i=1}^na_i+t(n-p+1)a_1+t\sum\limits_{i=p}^na_i+a_n\sum\limits_{i=2}^{p-1}a_i+t(p-2)a_n+t\sum\limits_{i=2}^{p-1}a_i a1 i=1∑n ai +t(n−p+1)a1 +ti=p∑n ai +an i=2∑p−1 ai +t(p−2)an +ti=2∑p−1 ai
容易发现这个东西如果对 ttt 已知 ppp 那么可以预处理 aaa 序列前缀和然后做到 O(1)O(1)O(1) 计算答案。
但是问题是 ttt 的取值范围是 t∈Rt\in\mathbb Rt∈R,显然无法枚举所有的实数 ttt 来计算答案。考虑缩小最优解的 ttt 的取值集合。这里注意到对 t∈[ai,ai+1]t\in[a_i,a_{i+1}]t∈[ai ,ai+1 ],ppp 的取值都不会变化,而显然对同一个 ppp 上面的式子是单峰的答案一定取在两个端点上,因此需要判定的 ttt 的集合只有 −a1,−a2,…,−an-a_1,-a_2,\ldots,-a_n−a1 ,−a2 ,…,−an ,而此时显然 ppp 的值也是十分容易求出的。因此该算法时间复杂度优化到 O(n)O(n)O(n) 可以通过该题。
最后剩下答案为 INF 的情况,直接带入 t=∞t=\infint=∞ 和 t=−∞t=-\infint=−∞ 即可简单判定(只需要看此时 ∞\infin∞ 的项的系数是不是 >0>0>0 的即可)。
该算法对于单组数据时间复杂度为 O(n)O(n)O(n),可以轻松通过该题。
002. CF521D SHOP (*2800\RED{2800}2800)
未看题解完成,用时 34min 7s。
对一个位置而言赋值操作肯定最多进行一次,因此考虑直接贪心。注意到一定存在一个最优策略满足对每个位置,其执行的操作的顺序都是(赋值)-(加法)-(乘法),括号代表一个操作可有可无。证明可以简单 Exchange-Argument Trick 处理。
考虑先把所有的赋值操作对每个位置只保留赋值最大的操作,然后将其全部转化成加法操作,然后再把加法操作排序之后全部转化成乘法操作。乘法操作直接贪心选最大的 mmm 个数执行操作即可。
总时间复杂度为 O(nlogn)O(n\log n)O(nlogn) 可以轻松通过该题。
2026.03.12
一路不断失去 / 一生将不断见证 / 看过再多风景眼眸如初清澄(周深 亲爱的旅人啊)
003. CF852A DIGITS(*2500\COLOR{PINK}{2500}2500)
未看题解完成,用时 26min 18s。
有一个简单的贪心策略是直接把每个位置都拆开得到 ∣s∣|s|∣s∣ 个长度为 111 的数字然后直接加起来,但是这个贪心显然是错的。
考虑直接错上加错,以一定概率把两个长度为 111 的数字合并起来(实测概率取 115\frac1{15}151 可以通过)然后再加起来合并,就可以通过这题。
成功率不太会算,但是这一看就很不能卡 :)
004. 暂时不能公开
2026.03.13
好想再问一遍 / 你会等待还是离开(周杰伦 晴天)
005. P15653 [省选联考 2026] 星图 / STARMAP(*33003{\RED{300}}3300)
直接在原图上维护操作是困难的,套路的考虑在图的反图上执行操作,这样问题转化为要求执行操作使得最终图上边的数量最少。
光轨数量的最大值
为了方便计算,该部分的讨论都将在原图的补图上进行。
考虑从奇偶性的方向入手。注意到若一次恰好可以选择 kkk 个点并对其执行操作,则 k=2k=2k=2 需要单独讨论。当 k>2k>2k>2 时:
* k≡0(mod4)k\equiv 0\pmod 4k≡0(mod4),此时点的度数的奇偶性不会发生变化,但边的数量的奇偶性会发生变化,因此此时最少剩下的边的数量即为 [2∤m][2\nmid m][2∤m]。
* k≡1(mod4)k\equiv 1\pmod 4k≡1(mod4),此时点的度数的奇偶性会发生变化,且边的数量的奇偶性也会发生变化。此时需要进一步分类讨论:
* 若 [2∣m]=[2∣∑i=1n[2∤degi]2][2\mid m]=[2\mid\frac{\sum\limits_{i=1}^n[2\nmid\deg_i]}2][2∣m]=[2∣2i=1∑n [2∤degi ] ],则此时显然可以在不改变奇偶性的前提下把边数删到答案下界 ∑i=1n[2∤degi]2\frac{\sum\limits_{i=1}^n[2\nmid\deg_i]}22i=1∑n [2∤degi ] 。
* 否则:
* 若图上所有点的度数都为偶数,则此时最小可以达到的答案是 333。
* 若图上存在点的度数是奇数,则此时最小可以达到的答案为 ∑i=1n[2∤degi]2+1\frac{\sum\limits_{i=1}^n[2\nmid\deg_i]}2+12i=1∑n [2∤degi ] +1。
* k≡2(mod4)k\equiv 2\pmod 4k≡2(mod4),此时点的度数的奇偶性不会发生变化,且边的数量的奇偶性也不会发生变化,因此此时最少剩下的边的数量即为 000。
* k≡3(mod4)k\equiv 3\pmod 4k≡3(mod4),此时点的度数的奇偶性会发生变化,但边的数量的奇偶性不会发生变化。最后剩下的边一定是若干个奇数度数的点两两匹配,答案即为 ∑i=1n[2∤degi]2\frac{\sum\limits_{i=1}^n[2\nmid\deg_i]}22i=1∑n [2∤degi ] 。
而 k=2k=2k=2 显然是简单的,必然可以在补图上删空所有的边。
最后用总数 n(n−1)2\frac{n(n-1)}22n(n−1) 减去上面得到的答案就可以得到最终结果。
构造流程
考虑先从特殊情况入手:
0X01 K=2K=2K=2
显然每次操作一条被连起来的边就可以删除该边。
0X02 K=3K=3K=3
此时操作形如每次反转一个三元环。容易想到先简单消去图上所有的环,得到一个森林。
然后对于森林上每一个非单独结点组成的树结构,均可以通过下面的操作让该树最终剩下恰好一条边:
* 选择三个点 u,v,wu,v,wu,v,w 满足当前树上存在一条 u↔v↔wu\leftrightarrow v\leftrightarrow wu↔v↔w 的链。
* 对 u,v,wu,v,wu,v,w 三个点做一次操作,此时 vvv 点脱离树结构成为单独点,u,wu,wu,w 两点之间连了一条边。
容易发现这样恰好可以取到前面分析 k=2k=2k=2 部分的答案下界,因此该构造方案可以证明为最优解。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
剩下 k>3k>3k>3 的情况。此时考虑先讨论如何构造出简单结构的操作:
0X11 长度为 444 的环
考虑类比 P9841 的套路,通过调用若干次操作得到一个比较简单的操作形式。
考虑执行下面的 444 次操作:
* Step 111:x1,x2,…,xk−2,i,jx_1,x_2,\ldots,x_{k-2},i,jx1 ,x2 ,…,xk−2 ,i,j
* Step 222:x1,x2,…,xk−2,j,kx_1,x_2,\ldots,x_{k-2},j,kx1 ,x2 ,…,xk−2 ,j,k
* Step 333:x1,x2,…,xk−2,k,px_1,x_2,\ldots,x_{k-2},k,px1 ,x2 ,…,xk−2 ,k,p
* Step 444:x1,x2,…,xk−2,p,ix_1,x_2,\ldots,x_{k-2},p,ix1 ,x2 ,…,xk−2 ,p,i
执行上面的 444 次操作后,x1,x2,…,xk−2x_1,x_2,\ldots,x_{k-2}x1 ,x2 ,…,xk−2 每个点都和 xxx 内其余点边的关系发生了 444 次反转(即没有发生变化),和 i,j,k,pi,j,k,pi,j,k,p 四个点的边的关系发生了 222 次反转(即没有发生变化)。而 i↔j,j↔k,k↔p,p↔ii\leftrightarrow j,j\leftrightarrow k,k\leftrightarrow p,p\leftrightarrow ii↔j,j↔k,k↔p,p↔i 四条边则恰好被反转了一次(即发生了变化)。
0X12 长度为 NNN 个点的环(2∣N2\MID N2∣N)
这里为了简化操作,定义一个长度为 nnn 的点的环形如:
* 对于任意整数 iii 满足 1≤i<n1\le i<n1≤i<n,i,i+1i,i+1i,i+1 两点之间都有一条边。
* 1,n1,n1,n 两点间有一条边。
考虑分类讨论,考虑下面的策略:
* 选择 1,2,3,41,2,3,41,2,3,4 四个点执行 K4K_4K4 的操作,这样 2,32,32,3 两个点可以单独脱离环,然后 1,41,41,4 两个点会多出一条连边,得到形如 1−4−5−6−…−n−11-4-5-6-\ldots-n-11−4−5−6−…−n−1 的环。这个操作可以每次从环上单独分离出两个点。
* 重复执行上述操作直到环上点数量 ≤4\le 4≤4 为止。
此时因为 2∣n2\mid n2∣n 所以最终会获得一个长度为 444 的环,直接执行一次上面给出的操作就可以把所有点全部分离,最终剩余 000 条边。
0X13 U↔V↔WU\LEFTRIGHTARROW V\LEFTRIGHTARROW WU↔V↔W 的链(2∣K2\MID K2∣K)
目标是在图中反转 u↔v,v↔wu\leftrightarrow v,v\leftrightarrow wu↔v,v↔w 两条边。考虑先执行下面的操作:
* Step 111:x1,x2,…,xk−2,u,vx_1,x_2,\ldots,x_{k-2},u,vx1 ,x2 ,…,xk−2 ,u,v
* Step 222:x1,x2,…,xk−2,v,wx_1,x_2,\ldots,x_{k-2},v,wx1 ,x2 ,…,xk−2 ,v,w
此时 u↔v,v↔wu\leftrightarrow v,v\leftrightarrow wu↔v,v↔w 两条边都被反转了,但是此时还额外反转了 u↔xi,v↔xiu\leftrightarrow x_i,v\leftrightarrow x_iu↔xi ,v↔xi (1≤i≤k−21\le i\le k-21≤i≤k−2)这两类边。问题转为再反转一次 u↔xi,v↔xiu\leftrightarrow x_i,v\leftrightarrow x_iu↔xi ,v↔xi 的边。
此时通过 2∣k2\mid k2∣k 可以推导出 2∣k−22\mid k-22∣k−2。因此考虑把 k−2k-2k−2 个点分成 k2−1\frac k2-12k −1 组,第 iii 组点是 (x2i−1,x2i)(x_{2i-1},x_{2i})(x2i−1 ,x2i )。然后考虑使用一开始的“长度为 444 的环”操作,第 iii 次操作反转 (u,x2i−1,v,x2i)(u,x_{2i}-1,v,x_{2i})(u,x2i −1,v,x2i ) 四个点组成的四元环,这样每条多余的边都恰好被反转了一次。最终被反转的边就是 u↔vu\leftrightarrow vu↔v 和
v↔wv\leftrightarrow wv↔w。
0X14 (U,V),(U,W),(V,W),(I,J),(I,K),(J,K)(U,V),(U,W),(V,W),(I,J),(I,K),(J,K)(U,V),(U,W),(V,W),(I,J),(I,K),(J,K) 六条边(两个 K3K_3K3 )
考虑执行下面的操作:
* Step 111:x1,x2,…,xk−2,u,vx_1,x_2,\ldots,x_{k-2},u,vx1 ,x2 ,…,xk−2 ,u,v
* Step 222:x1,x2,…,xk−2,u,wx_1,x_2,\ldots,x_{k-2},u,wx1 ,x2 ,…,xk−2 ,u,w
* Step 333:x1,x2,…,xk−2,v,wx_1,x_2,\ldots,x_{k-2},v,wx1 ,x2 ,…,xk−2 ,v,w
此时 u↔v,v↔w,u↔wu\leftrightarrow v,v\leftrightarrow w,u\leftrightarrow wu↔v,v↔w,u↔w 三条边均被反转。但是同时 xi↔xjx_i\leftrightarrow x_jxi ↔xj (1≤i<j≤n1\le i<j\le n1≤i<j≤n)这条边也被反转了。但是注意到现在想要构造的操作其实可以看作是两个 K3K_3K3 拼凑起来,现在 u↔v,v↔w,u↔wu\leftrightarrow v,v\leftrightarrow w,u\leftrightarrow wu↔v,v↔w,u↔w 这三条边已经得到了一个
K3K_3K3 ,而反转具有自反性,因此可以考虑再将上面的操作执行一次得到第二个 K3K_3K3 并消去所有额外的边:
* Step 444:x1,x2,…,xk−2,i,jx_1,x_2,\ldots,x_{k-2},i,jx1 ,x2 ,…,xk−2 ,i,j
* Step 555:x1,x2,…,xk−2,i,kx_1,x_2,\ldots,x_{k-2},i,kx1 ,x2 ,…,xk−2 ,i,k
* Step 666:x1,x2,…,xk−2,j,kx_1,x_2,\ldots,x_{k-2},j,kx1 ,x2 ,…,xk−2 ,j,k
此时所有 xi↔xjx_i\leftrightarrow x_jxi ↔xj (1≤i<j≤n1\le i<j\le n1≤i<j≤n)都又一次被反转了,因此两个反转操作被抵消掉。而此时 i↔j,i↔k,j↔ki\leftrightarrow j,i\leftrightarrow k,j\leftrightarrow ki↔j,i↔k,j↔k 三条边则同样被反转一次。因此最后 u↔v,v↔w,u↔w,i↔j,i↔k,j↔ku\leftrightarrow v,v\leftrightarrow w,u\leftrightarrow w,i\leftrightarrow
j,i\leftrightarrow k,j\leftrightarrow ku↔v,v↔w,u↔w,i↔j,i↔k,j↔k 这六条边恰好分别被反转一次,其余边均未被反转,也就是反转了两个 K3K_3K3 形态的子图。
注意到此时有 k−2k-2k−2 个辅助点,加上 666 个需要反转操作的点一共需要使用 k−2+4=k+4k-2+4=k+4k−2+4=k+4 个点,因此只有 k+4≤nk+4\le nk+4≤n 即 k≤n−4k\le n-4k≤n−4 时才可以使用该操作。
0X15 (U,V),(U,W),(V,W),(W,I),(W,J),(I,J)(U,V),(U,W),(V,W),(W,I),(W,J),(I,J)(U,V),(U,W),(V,W),(W,I),(W,J),(I,J) 六条边
和 0x14 部分本质相同,此时只需要 k≤n−3k\le n-3k≤n−3 就可以执行该操作。
其实这个地方是可以和 kkk 的取值无关的!其实利用 0x11 中给出的反转四元环操作就可以生成出该操作:
* Step 111:用 0x11 给出的操作反转 u,v,i,ju,v,i,ju,v,i,j 四个点组成的四元环。
* Step 222:用 0x11 给出的操作反转 u,w,v,iu,w,v,iu,w,v,i 四个点组成的四元环。
容易发现此时恰好反转了 u↔v,v↔w,u↔w,w↔i,w↔j,i↔ju\leftrightarrow v,v\leftrightarrow w,u\leftrightarrow w,w\leftrightarrow i,w\leftrightarrow j,i\leftrightarrow ju↔v,v↔w,u↔w,w↔i,w↔j,i↔j 六条边。
该结构的最大优势是处理 2∤k2\nmid k2∤k 的情况。
解决原问题
0X21 把原图化为特殊形态
前面已经特判掉了 k≤3k\le 3k≤3 的情况,因此本部分只需要解决 k>3k>3k>3 即可。
此时考虑先从图中找出三个关键点 i,j,ki,j,ki,j,k,并对图进行一些操作,使得图上所有二元组 (x,y)(x,y)(x,y) 若满足不存在 x↔yx\leftrightarrow yx↔y 的边,则这样的二元组 (x,y)(x,y)(x,y) 必然还满足下面两条之一:
* x=i,y=jx=i,y=jx=i,y=j 或 x=j,y=ix=j,y=ix=j,y=i
* x=kx=kx=k 或 y=ky=ky=k
下面考虑如何执行操作可以得到这种图。考虑执行下面的操作:
* 对于每两个点 x,yx,yx,y 满足 x≠i,x≠j,y≠i,y≠j,x≠yx\neq i,x\neq j,y\neq i,y\neq j,x\neq yx=i,x=j,y=i,y=j,x=y,若图上当前没有连接 x,yx,yx,y 两个点的边,则考虑继续分类讨论(111):
* 若图上存在点 zzz 满足 z≠a,z≠b,z≠x,z≠yz\neq a,z\neq b,z\neq x,z\neq yz=a,z=b,z=x,z=y 且 xxx 和 zzz 之间不存在边相连,则反转 z,x,y,iz,x,y,iz,x,y,i 四个点组成的四元环。
* 否则,若图上存在点 zzz 满足 z≠a,z≠b,z≠x,z≠yz\neq a,z\neq b,z\neq x,z\neq yz=a,z=b,z=x,z=y 且 yyy 和 zzz 不存在边相连,则反转 x,y,z,ix,y,z,ix,y,z,i 四个点组成的四元环。
* 否则,直接反转 x,y,i,jx,y,i,jx,y,i,j 四个点组成的四元环。
* 对于每个点 xxx 满足 x≠i,x≠j,x≠kx\neq i,x\neq j,x\neq kx=i,x=j,x=k,考虑分类讨论 xxx 和 i,ji,ji,j 两点的连边关系(222):
* 若 xxx 和 i,ji,ji,j 两点都连了边,则不进行任何处理。
* 否则,若 xxx 和 i,ji,ji,j 两点都没有连边,则对 i,x,j,ki,x,j,ki,x,j,k 四个点执行一次 0x11 给出的操作即可。
* 否则,若 xxx 和 iii 没有连边,则对 i,x,k,ji,x,k,ji,x,k,j 四个点执行一次 0x11 给出的操作即可。
* 否则(即只有 xxx 和 jjj 没有连边),则对 j,x,k,ij,x,k,ij,x,k,i 四个点执行一次 0x11 给出的操作即可。
现在理性的分析一下上面给出的流程都干了什么事。这里为了方便描述,将上述流程分为 1,21,21,2 两个部分分别处理。
对于流程 111 而言:每一次都把端点不为 x,yx,yx,y 的不存在的边连接,并删除了对应的以 x,yx,yx,y 为端点的边。在该流程结束后对于所有不存在连边的 x,yx,yx,y 都有 i=xi=xi=x 或 i=yi=yi=y 或 j=xj=xj=x 或 j=yj=yj=y。
对于流程 222 而言:对于原来可能存在的不存在的边 (x,i),(x,j)(x,i),(x,j)(x,i),(x,j) 进行一次包含其的四元环操作后,(x,i),(x,j)(x,i),(x,j)(x,i),(x,j) 之间的边会被连上,而被删除的边一定形如 (x,k),(i,j),(i,k),(j,k)(x,k),(i,j),(i,k),(j,k)(x,k),(i,j),(i,k),(j,k) 中的一类。
此时显然可以达成该部分想要达成的目标。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
考虑回到问题的开始。在这片题解的最初通过对 k mod 4k\bmod 4kmod4 的值分类讨论得到了答案的上界,下面考虑继续对 k mod 4k\bmod 4kmod4 的值分类讨论并给出最终的构造方案(顺便也证明可以取到答案上界)。
0X22 K≡2(MOD4)K\EQUIV 2\PMOD 4K≡2(MOD4)
从最简单的情况入手讨论。
此时既没有边数量奇偶性的约束条件,也没有点度数的奇偶性约束条件。
这里先考虑没有被连的边的数量是偶数的情况。
考虑在 0x21 部分中找出三个关键点 i,j,ki,j,ki,j,k 后,先将 i,ji,ji,j 两个点连起来(直接用 0x13 操作反转 i↔j,j↔ki\leftrightarrow j,j\leftrightarrow ki↔j,j↔k 两条边即可)。
此时所有二元组 (x,y)(x,y)(x,y) 满足 x,yx,yx,y 之间没有边相连当且仅当 x=kx=kx=k 或 y=ky=ky=k。因为此时没有连的边的数量是偶数所以直接给所有没有连的边另一端点两两分组匹配然后用 0x13 操作反转两条边即可。
而如果没有被连的边的数量是奇数,则在 0x21 修改图的形态之前,直接随便选 kkk 个点执行一次操作即可(容易发现 0x21 部分不会修改边的数量的奇偶性)。
0X23 K≡0(MOD4)K\EQUIV 0\PMOD 4K≡0(MOD4)
其实和 0x22 没有本质区别?
把 0x22 里第一步调整没有被连的边的奇偶性那一步删掉,后面的部分完全是一样的。
0X24 K≡3(MOD4)K\EQUIV 3\PMOD 4K≡3(MOD4)
这里先考虑没有被连的边的数量是偶数的情况。
考虑在 0x21 部分中找出三个关键点 i,j,ki,j,ki,j,k 后,先将 i,ji,ji,j 两个点连起来(直接用 0x13 操作反转 i↔j,j↔ki\leftrightarrow j,j\leftrightarrow ki↔j,j↔k 两条边即可)。
此时所有二元组 (x,y)(x,y)(x,y) 满足 x,yx,yx,y 之间没有边相连当且仅当 x=kx=kx=k 或 y=ky=ky=k。因为此时没有连的边的数量是偶数所以直接给所有没有连的边另一端点两两分组匹配然后用 0x13 操作反转两条边即可。
但是此时仍然没有达到答案的下界,需要进一步进行操作:
* 若存在四个点 x,y,z,wx,y,z,wx,y,z,w 满足 x↔k,y↔k,z↔k,w↔kx\leftrightarrow k,y\leftrightarrow k,z\leftrightarrow k,w\leftrightarrow kx↔k,y↔k,z↔k,w↔k 四条边都不在图中存在,那么用前面 0x15 的操作反转 k↔x,k↔y,k↔z,k↔w,x↔y,z↔wk\leftrightarrow x,k\leftrightarrow y,k\leftrightarrow z,k\leftrightarrow w,x\leftrightarrow
y,z\leftrightarrow wk↔x,k↔y,k↔z,k↔w,x↔y,z↔w 这六条边。
* 此时,若 x,yx,yx,y 两点还满足 x↔k,y↔kx\leftrightarrow k,y\leftrightarrow kx↔k,y↔k 两条边都不存在,且 i,j,ki,j,ki,j,k 三个点得到的三条边只有不超过一条边存在,那么用前面 0x15 的操作反转 k↔i,k↔j,k↔x,k↔y,i↔j,x↔yk\leftrightarrow i,k\leftrightarrow j,k\leftrightarrow x,k\leftrightarrow y,i\leftrightarrow j,x\leftrightarrow yk↔i,k↔j,k↔x,k↔y,i↔j,x↔y
这六条边即可。
这一步操作可以尽可能的减少图上任意一点 xxx 和选出的关键点 kkk 之间不存在边的 xxx 的数目。但是此时出现了两端点都不是 kkk 的边不存在的情况,因此还需要再打一次补丁。考虑观察此时图的性质,容易发现此时图上边的数量一定为偶数条,且用上述方法两端点都不为 kkk 的不存在的边的数量一定是偶数。因此考虑再执行下面的操作:
* 若对于图上的结点 xxx,i↔j,i↔k,j↔k,x↔ki\leftrightarrow j,i\leftrightarrow k,j\leftrightarrow k,x\leftrightarrow ki↔j,i↔k,j↔k,x↔k 四条边都没有连,那么考虑找出 x,i,j,kx,i,j,kx,i,j,k 之外的任意一点 yyy。
* 此时考虑用操作 0x15 来反转 i↔j,i↔k,j↔k,k↔x,k↔y,x↔yi\leftrightarrow j,i\leftrightarrow k,j\leftrightarrow k,k\leftrightarrow x,k\leftrightarrow y,x\leftrightarrow yi↔j,i↔k,j↔k,k↔x,k↔y,x↔y 六条边(即补齐 i,j,ki,j,ki,j,k 三角形上的边以及一条 kkk 连向外部的边)。
* 若此时 i↔j,i↔k,j↔k,x↔yi\leftrightarrow j,i\leftrightarrow k,j\leftrightarrow k,x\leftrightarrow yi↔j,i↔k,j↔k,x↔y 四条边都没有连,则用操作 0x15 来反转 i↔j,i↔k,j↔k,k↔x,k↔y,x↔yi\leftrightarrow j,i\leftrightarrow k,j\leftrightarrow k,k\leftrightarrow x,k\leftrightarrow y,x\leftrightarrow yi↔j,i↔k,j↔k,k↔x,k↔y,x↔y
六条边(即补齐 i,j,ki,j,ki,j,k 三角形上的边以及一条在 i,j,ki,j,ki,j,k 以外的边)。
* 此时再找出点 www 满足 w≠i,w≠j,w≠k,w≠x,w≠yw\neq i,w\neq j,w\neq k,w\neq x,w\neq yw=i,w=j,w=k,w=x,w=y,则若此时 i↔k,x↔k,y↔k,z↔ki\leftrightarrow k,x\leftrightarrow k,y\leftrightarrow k,z\leftrightarrow ki↔k,x↔k,y↔k,z↔k 四条边都没有连,则用操作 0x15 来反转 i↔k,i↔x,k↔x,k↔y,k↔z,y↔zi\leftrightarrow k,i\leftrightarrow
x,k\leftrightarrow x,k\leftrightarrow y,k\leftrightarrow z,y\leftrightarrow zi↔k,i↔x,k↔x,k↔y,k↔z,y↔z 六条边(即补齐 i,ki,ki,k 两点之间的边以及 kkk 外面挂着的三条缺失的边)。
* 若此时 j↔k,x↔k,y↔k,z↔kj\leftrightarrow k,x\leftrightarrow k,y\leftrightarrow k,z\leftrightarrow kj↔k,x↔k,y↔k,z↔k 四条边都没有连,则用操作 0x15 来反转 j↔k,j↔x,k↔x,k↔y,k↔z,y↔zj\leftrightarrow k,j\leftrightarrow x,k\leftrightarrow x,k\leftrightarrow y,k\leftrightarrow z,y\leftrightarrow zj↔k,j↔x,k↔x,k↔y,k↔z,y↔z
六条边(即补齐 j,kj,kj,k 两点之间的边以及 kkk 外面挂着的三条缺失的边)。
此时图上只有 i↔ji\leftrightarrow ji↔j 的边,以及 kkk 点连向除了 i,j,ki,j,ki,j,k 以外的若干点 xxx 的边不存在。因此考虑再打第三层补丁:
* 如果 i↔j,j↔k,k↔vi\leftrightarrow j,j\leftrightarrow k,k\leftrightarrow vi↔j,j↔k,k↔v 都缺边,那么直接反转 i,j,k,vi,j,k,vi,j,k,v 组成的四元环即可。
* 如果 i↔j,i↔k,k↔vi\leftrightarrow j,i\leftrightarrow k,k\leftrightarrow vi↔j,i↔k,k↔v 都缺边,那么直接反转 j,i,k,vj,i,k,vj,i,k,v 组成的四元环即可。
可以证明此时图的边数一定达到了上界。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
而对于奇数的情况,同样的,考虑在 0x21 部分中找出三个关键点 i,j,ki,j,ki,j,k 后,先将 i,ji,ji,j 两个点连起来(直接用 0x13 操作反转 i↔j,j↔ki\leftrightarrow j,j\leftrightarrow ki↔j,j↔k 两条边即可)。
0X25 K≡1(MOD4)K\EQUIV 1\PMOD 4K≡1(MOD4)
其实和 k≡3(mod4)k\equiv 3\pmod 4k≡3(mod4) 的情况也差不多,同样也是少了一个选前 kkk 个点反转的操作。这里就不展开讨论了。
2026.03.14
你为寻找或是告别耗尽一生 / 也足够让人心动(周深 亲爱的旅人啊)
006. CF1734F ZEROS AND ONES(*2500\COLOR{PINK}{2500}2500)
首先有一个经典结论是 Thue-Morse 序列的第 iii 项的值就是 parity(i)\operatorname{parity}(i)parity(i)。因此题目中给出的询问操作其实就是问 ∑i=0m−1parity(i⊕(i+n))\sum\limits_{i=0}^{m-1}\operatorname{parity}(i\oplus(i+n))i=0∑m−1 parity(i⊕(i+n))。
记 S(m,n)=∑i=0m−1parity(i⊕(i+n))S(m,n)=\sum\limits_{i=0}^{m-1}\text{parity}(i\oplus(i+n))S(m,n)=i=0∑m−1 parity(i⊕(i+n))。考虑到有 parity(2x)=1−parity(2x+1)=parity(x)\text{parity}(2x)=1-\text{parity}(2x+1)=\text{parity}(x)parity(2x)=1−parity(2x+1)=parity(x)。因此考虑按照 n,mn,mn,m 的奇偶性分别讨论计算答案:
* 2∣n2\mid n2∣n:记 n=2k,m=2q+rn=2k,m=2q+rn=2k,m=2q+r(r∈{0,1}r\in\lbrace0,1\rbracer∈{0,1}),则有 S(m,2k)=2S(q,k)+rparity(q⊕(q+k))S(m,2k)=2S(q,k)+r\text{parity}(q\oplus(q+k))S(m,2k)=2S(q,k)+rparity(q⊕(q+k))。
* 2∤n2\nmid n2∤n:记 n=2k+1,m=2q+rn=2k+1,m=2q+rn=2k+1,m=2q+r(r∈{0,1}r\in\lbrace 0,1\rbracer∈{0,1}),则有 S(m,2k+1)=2q−S(q,k)−S(q,k+1)+r(1−parity(q⊕(q+k)))S(m,2k+1)=2q-S(q,k)-S(q,k+1)+r(1-\text{parity}(q\oplus(q+k)))S(m,2k+1)=2q−S(q,k)−S(q,k+1)+r(1−parity(q⊕(q+k)))。
边界条件是 S(0,n)=S(m,0)=0S(0,n)=S(m,0)=0S(0,n)=S(m,0)=0,记忆化搜索就可以做到 O(log2n)O(\log^2n)O(log2n) 处理单组数据。
007. CF1626F A RANDOM CODE PROBLEM(*2800\COLOR{RED}{2800}2800)
注意到位置和位置之间是相互独立的,因此考虑对每个位置分别计算其期望值。设 fi,jf_{i,j}fi,j 表示当前处理的数值为 iii,进行了 jjj 次操作的不同方案数。转移形如:
* fi,j+1←(n−1)fi,jf_{i,j+1}\leftarrow (n-1)f_{i,j}fi,j+1 ←(n−1)fi,j
* fi−i mod (j+1),j+1←fi,jf_{i-i\bmod(j+1),j+1}\leftarrow f_{i,j}fi−imod(j+1),j+1 ←fi,j
直接转移时间复杂度为 O(kV)O(kV)O(kV),考虑进一步优化。注意到用题目中给出的操作,若对 xxx 进行操作,则 xlcm(1,2,…,k−1)\frac x{\text{lcm}(1,2,\ldots,k-1)}lcm(1,2,…,k−1)x 的值在整个操作过程中一定不会发生变化。因此考虑初始把所有 aia_iai 都对 lcm(1,2,…,k−1)\text{lcm}(1,2,\ldots,k-1)lcm(1,2,…,k−1) 取模,此时值域 VVV 变为
lcm(1,2,…,k−1)\text{lcm}(1,2,\ldots,k-1)lcm(1,2,…,k−1),O(kV)O(kV)O(kV) 的时间复杂度(简单卡常后)就可以通过该题。
至于这里为什么是 k−1k-1k−1 而不是 kkk,你会发现最后一次操作(即 i=ki=ki=k 时)aaa 数组的变化未被统计到 ans 内,所以不需要考虑。
008. CF1679F FORMALISM FOR FORMALISM(*2600\COLOR{RED}{2600}2600)
题意可以转化为:有多少个数不能通过题目中给出的操作使得自己的值变得比最开始更小。
然后考虑如果前一位填了 xxx,而且前面部分全都是合法的,那么后一位可以填哪些数字。假设这里填写了数字 yyy,则:
* 如果 x,yx,yx,y 之间不能互相交换,那么很显然可以填写 yyy。
* 如果 x,yx,yx,y 之间可以互相交换,且 x>yx>yx>y,那么很显然不能填写 yyy。
* 否则考虑交换 x,yx,yx,y 两个位置后,yyy 可能可以和 xxx 之前的数继续发生交换,因此 yyy 能填写当且仅当在 xxx 的位置填写 yyy 合法。
然后就可以 dp 了。设 fi,jf_{i,j}fi,j 表示当前考虑了 iii 集合,上一次可以填写的数的集合是 jjj,有多少个合法的前缀数。转移直接枚举下一个位置填的是什么数字即可。最终时间复杂度为 O(nω2ω)O(n\omega2^\omega)O(nω2ω),其中 ω=10\omega=10ω=10。
009. CF1623E MIDDLE DUPLICATION(*2500\COLOR{PINK}25002500)
因为字典序比较遵循贪心原则,所以考虑直接按中序遍历来贪心处理,即一个点被复制后优先处理其左子树。
此时容易想到下面的贪心流程:
* 对于当前访问到的结点 uuu:
* 递归访问其左子树 lul_ulu 。
* 若 lul_ulu 需要被复制,则 uuu 也同样需要被复制。
* 否则,若 uuu 复制后可以让答案更优,则 uuu 同样需要被复制。
* 若 uuu 被复制,则递归访访问其右子树 rur_uru 。
容易证明该算法的正确性。直接模拟上述流程可做到时间复杂度 O(n)O(n)O(n) 解决问题。
2026.03.15
因为我刚好遇见你 / 留下足迹才美丽 / 风吹花落泪如雨 / 因为不想分离 / 因为刚好遇见你 / 留下十年的期许 / 如果再相遇 / 我想我会记得你(李玉刚 刚好遇见你)
010. CF1598F RBS(*2400\COLOR{PINK}{2400}2400)
好困难/ll
套路的把左括号看作是 111,右括号看作是 −1-1−1。则显然 iii 位置的前缀是 RBS 的充要条件是:
* 不存在 1≤j≤i1\le j\le i1≤j≤i 满足 jjj 位置的前缀和 <0<0<0。
* iii 位置的前缀和为 000。
考虑直接状压 dp,设 fi,jf_{i,j}fi,j 表示当前处理了 iii 集合内的字符串,当前的前缀最小值是 jjj,最多有多少个 RBS 前缀。转移随便处理点东西就可以做到 O(n2n)O(n2^n)O(n2n) 转移。
011. [AGC050A] ATCODER JUMPER(*2300\COLOR{YELLOW}{2300}2300)
十分 adhoc 的题目。考虑直接让 iii 点连 2i2i2i 和 2i+12i+12i+1(以 nnn 为单位循环标号),此时 iii 点走 101010 条边之后可以走到 [1024i,1024i+1024)[1024i,1024i+1024)[1024i,1024i+1024) 范围内的点,显然覆盖了 1∼n1\sim n1∼n 内的所有点。
直接模拟上述流程可以做到时间复杂度 O(n)O(n)O(n) 处理问题。
012. CF1614D1 DIVAN AND KOSTOMUKSHA (HARD VERSION) / CF1614D2 DIVAN AND KOSTOMUKSHA (HARD VERSION)(*2100\COLOR{ORANGE}{2100}2100 / *2400\COLOR{PINK}{2400}2400)
先考虑 D1 怎么做。容易想到记 bucibuc_ibuci 表示 aaa 序列中有多少个数是 iii 的倍数(可以写一个埃筛 O(nlogn)O(n\log n)O(nlogn) 求出),然后记 fif_ifi 表示当前序列的 gcd\gcdgcd 为 iii,所有前缀的 gcd\gcdgcd 的和最大是多少。看上去没有记录当前选择了多少个数不好处理,但是注意到处理 fif_ifi 的时候把所有 iii 的倍数加到序列里的贡献都是 iii 且不会对序列的 gcd\gcdgcd 产生影响,而再往后加的话序列的 gcd\gcdgcd 值一定会变小,加入 iii
对答案的贡献也同样会减小,因此计算 fif_ifi 的时候一定需要把所有 iii 的倍数全都加入到序列里。
因此可以想到初始条件为 fi=i×bucif_i=i\times buc_ifi =i×buci ,转移方程为 fi←fij+i(buci−bucij)f_i\leftarrow f_{ij}+i(buc_i-buc_{ij})fi ←fij +i(buci −bucij )(buci−bucijbuc_i-buc_{ij}buci −bucij 即为当前为 iii 的倍数且没有被加入到序列中的元素的数量)。转移的时候枚举 iii 的倍数可以做到 O(VlogV)O(V\log V)O(VlogV),能够通过 D1。
此时注意到转移时一个决策 i←iji\leftarrow iji←ij 可能成为不可被替代的最优解当且仅当 jjj 是质数,因此考虑先筛出 1∼V1\sim V1∼V 内所有的质数然后转移的时候只转移质数 jjj 的 dp 值。而处理 bucbucbuc 数组时可以套用 Dirichlet 前缀和的技巧做到 O(VloglogV)O(V\log\log V)O(VloglogV) 计算。因此总时间复杂度为 O(VloglogV)O(V\log\log V)O(VloglogV),简单卡常即可通过 D2。
2026.03.16
泛红的双眼 / 对你的爱怎么遮掩
再靠近多些 / 望着你的背影默念
敏感又热烈 / 只想霸占你的世界
我可以付出一切代价
(王澳楠 请和这样的我恋爱吧)
013. CF1582G KUZYA AND HOMEWORK(*2600\COLOR{RED}{2600}2600)
考虑把每个数都分解质因数来统计。枚举右端点 rrr,然后维护一个栈 stkstkstk 表示当前有哪些左端点是合法的,SiS_iSi 表示若只考虑质因数为 iii 的部分有哪些左端点是合法的。则此时若 iii 位置对应的字符是 *,直接把 iii 加入 SjS_jSj 和 stkstkstk 中即可,否则在 SjS_jSj 和 stkstkstk 中把 iii 对应的质因数抵消掉。统计结束后栈 stkstkstk 内的元素数量即为右端点为 rrr 的合法区间数量。
线性筛出 spfi\text{spf}_ispfi 表示 iii 的最小质因数可以做到 O(nlogV)O(n\log V)O(nlogV) 时间复杂度解决问题。
014. P3644 [APIO2015] 巴邻旁之桥(*2400\COLOR{PINK}{2400}2400)
注意到 k∈{1,2}k\in\lbrace 1,2\rbracek∈{1,2}(现在你已经做完了这个题最难的地方),因此猜测是直接分两类讨论。
K=1K=1K=1
可以把问题转化为:找到最小的 xxx 使得 ∑i=1n∣ai−x∣+∑i=1n∣bi−x∣\sum\limits_{i=1}^n|a_i-x|+\sum\limits_{i=1}^n|b_i-x|i=1∑n ∣ai −x∣+i=1∑n ∣bi −x∣ 的值最小。这是经典的贪心模型,直接把 ai,bia_i,b_iai ,bi 合并到一个数组 ccc 中然后升序排序,取 x=cnx=c_nx=cn 即为最优解。证明直接调整法即可。
K=2K=2K=2
类比 k=1k=1k=1 的做法,必然是建两座桥然后左半部分的走坐标的桥,右半部分的走右边的桥,因此容易想到枚举中间的分界点 ppp 然后对两侧分别做 k=1k=1k=1 的处理,可以简单维护有序数组做到 O(n2)O(n^2)O(n2) 求解问题。
考虑优化时间复杂度。考虑记 F(p)F(p)F(p) 为分界点为 ppp 时的答案,但是 F(p)F(p)F(p) 看上去没有单调单峰等性质。一个想法是直接对 F(p)F(p)F(p) 跑模拟退火(我不知道这个能不能过)。注意到其实不需要真的维护两个有序数组,只需要得知两个数组的中位数值即可,因此考虑从左到右扫描所有本质不同的位置 ppp 然后对两个集合做单点插入 / 单点删除操作,并分别维护两个集合的中位数以及 ∑i=1n∣ai−x∣\sum\limits_{i=1}^n|a_i-x|i=1∑n ∣ai −x∣ 的值(已知元素数量和数组中位数值后这个是容易维护的)。用对顶堆来维护即可做到
O(nlogn)O(n\log n)O(nlogn) 通过该题。
015. CF1097G VLADISLAV AND A GREAT LEGEND(*30003\COLOR{RED}{000}3000)
f(S)kf(S)^kf(S)k 看上去不太好维护,考虑经典套路斯特林反演:
nk=∑i=0kS2(k,i)(ni)i!n^k=\sum\limits_{i=0}^k S_2(k,i)\binom nii! nk=i=0∑k S2 (k,i)(in )i!
于是题目给出的式子可以化为:
∑i=0ki!S2(k,i)∑S⊆{1,2,3,…,n}(f(S)i)\sum\limits_{i=0}^ki!S_2(k,i)\sum\limits_{S\subseteq\lbrace1,2,3,\ldots,n\rbrace}\binom{f(S)}i i=0∑k i!S2 (k,i)S⊆{1,2,3,…,n}∑ (if(S) )
问题在于对每个 iii 快速计算 ∑S⊆{1,2,3,…,n}(f(S)i)\displaystyle\sum\limits_{S\subseteq\lbrace1,2,3,\ldots,n\rbrace}\binom{f(S)}iS⊆{1,2,3,…,n}∑ (if(S) ) 的值。
考虑这个东西的组合意义,容易发现对每个 iii,其答案可以看作是在 SSS 集合内点组成的虚树的点集上选 iii 条边的方案数。
设 fi,jf_{i,j}fi,j 表示当前处理了 iii 为根的子树内有 jjj 条虚树的边的方案数,转移类似于树上背包合并,时间复杂度为 O(nk)O(nk)O(nk)。统计答案的时候套路的在深度最低的结点上统计即可。实现起来细节比较多。
016. CF1592F2 ALICE AND RECOLORING 2(*2800\COLOR{RED}{2800}2800)
一眼看上去这题十分神秘不可做,因此考虑逐步挖掘其性质。
性质:有用的操作其实只有 1,41,41,4 两种。
证明:
对于 222 操作:则可以先用一次 111 操作操作掉整个左侧,然后再把不包含于她的左上角操作。这样花费的代价为 222,优于 111 次 222 操作的 333 代价。444 操作同理,用 111 操作操作掉整个上侧然后容斥把不包含于她的左上角操作,花费的代价为 222,优于 111 次 333 操作花费的 444 代价。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
然后发现一次操作操作的是一个矩阵,看上去很麻烦,要将其变为对单点做操作。因此考虑对矩阵做二阶差分。这里重定义颜色之间的按位异或:
* 相同颜色异或,得到的颜色为 W\texttt{W}W。
* 不同颜色异或,得到的颜色为 B\texttt{B}B。
考虑将其转化为实际的数字意义,即 W\texttt{W}W 代表 000,B\texttt{B}B 代表 111。此时令这个差分的二维数组为 aaa,则考虑一次操作会对新的二维数组 aaa 做怎样的修改。
* 对于一次 111 操作 (x,y)(x,y)(x,y),则只有 (x,y)(x,y)(x,y) 一个点会取反。
* 对于一次 444 操作 (x,y)(x,y)(x,y),那么 (x−1,y−1)(x-1,y-1)(x−1,y−1),(x−1,m)(x-1,m)(x−1,m),(n,y−1)(n,y-1)(n,y−1),(n,m)(n,m)(n,m) 四个点都会被取反。
看上去一次 444 操作修改的位置更多,性质或许也会更强一些?于是对其做分析。考虑同时对在同一行上的两个坐标 (x,y1)(x,y_1)(x,y1 ) 和 (x,y2)(x,y_2)(x,y2 ) 做一次 444 操作,则此时 (x,y1),(n,y1),(x,y2),(n,y2)(x,y_1),(n,y_1),(x,y_2),(n,y_2)(x,y1 ),(n,y1 ),(x,y2 ),(n,y2 ) 四个格子被取反了一次,而 (x,m),(n,m)(x,m),(n,m)(x,m),(n,m) 被取反了两次(等于没变)。一共取反了 444 个格子,和做 444 次 111
操作效果等价,花费均为 444。因此其实这种情况可以规避开较为复杂的 444 操作去使用较为简单的 111 操作替代。同一列上的两个坐标 (x1,y)(x_1,y)(x1 ,y) 和 (x2,y)(x_2,y)(x2 ,y) 的情况也同理。换句话说:444 操作操作的任意两个位置横纵坐标必须都不相同。
可以通过类似的手段分析,得到另一个性质更为强大的结论:使用 444 操作对 (x,y)(x,y)(x,y) 做操作比用 111 操作严格好,当且仅当 (x,y),(x,m),(n,y)(x,y),(x,m),(n,y)(x,y),(x,m),(n,y) 三个格子的值都为 111。证明类似于上面一个步骤,如果这三个格子中存在一个格子不为 111 则需要容斥一次翻转操作,即执行两次翻转,花费的代价为 444。而若用 111 操作则只需要不超过 333 的代价就可以达成目标。
分析了这么一大通,那么这个题有应该如何解决呢?考虑到(忘了哪个题)的套路,建一张二分图,把横坐标建在图的左侧,纵坐标建在图的右侧。那么做一次可能合法 444 操作 (x,y)(x,y)(x,y) 就是把左侧点 xxx 向右侧点 yyy 连一条边。用匈牙利算法对该图跑最大匹配,或者建立源汇用 Dinic 算法求解其网络最大流均可。时间复杂度为 O(n3)O(n^3)O(n3) 或 O(n2.5)O(n^{2.5})O(n2.5)(n,mn,mn,m 同阶),而且远远跑不满,所以可以通过。
017. [ARC127E] PRIORITY QUEUE(*2600\COLOR{RED}{2600}2600)
注意到操作的是一个集合,也就是加入元素的顺序不会影响答案。因此直接钦定的加入元素时不会被删除的数和会被删除的树都是从小到大加入的,因此删除操作一定是删除最近一个加入的未被删除的的元素。
因为需要保证每次删除的数都比前面的数要大,而因为前面钦定了删除一个数,这个数必须是上一次操作刚加入的。而又因为两组序列都必须是单调递增的,因此若当前是第 iii 个要被删除的数,前面已经有 jjj 个数一定不会被删除,则第 iii 个被删除的数的值必须严格大于 jjj。
因此考虑 dp。设 fi,jf_{i,j}fi,j 表示第 iii 次删除操作,删除的序列最大值为 jjj,不同集合的数量。则显然有初始条件 f0,0=1f_{0,0}=1f0,0 =1。转移枚举上一个被删除的数 jjj 可以做到 O(n3)O(n^3)O(n3)。注意到限制条件保证了 dp 的合法状态是连续的一段,因此使用前缀和优化可以做到 O(n2)O(n^2)O(n2) 解决问题。
2026.03.17
日记本线条随回忆见笑 / 付出我的一切却装成笑话编造 / 咽下的时光怨当初年少 / 爱没有尾声恨没有前兆
(因你而在的梦 椰蓉面包)
018. CF2204G GRID PATH(*2700\COLOR{RED}{2700}2700)
容易想到设 fk,i,jf_{k,i,j}fk,i,j 表示当前处理了前 kkk 行的染**况,第 kkk 行恰好染色了 [i,j][i,j][i,j] 区间内的所有格子,方案数是多少。然后注意到这个东西的转移可以用矩阵乘法优化,做到 O(m6logn)O(m^6\log n)O(m6logn) 时间复杂度求解。
考虑继续优化。注意到关键性质:对于具有可减性的信息,[l,r][l,r][l,r] 区间的信息可以被表示为 [0,r]+[l,m−1]−[0,m−1][0,r]+[l,m-1]-[0,m-1][0,r]+[l,m−1]−[0,m−1]。此时所有区间都形如 [0,m−1][0,m-1][0,m−1] 整体的前后缀,可以用 2m2m2m 个区间来表示所有区间。转移直接枚举前后缀区间然后再枚举要转移的区间 [l,r][l,r][l,r] 将 [l,r][l,r][l,r] 拆分成三个前后缀区间后分别按系数转移即可,同样可以用矩阵乘法优化。此时算法的时间复杂度被优化到
O(m3logn)O(m^3\log n)O(m3logn),简单卡常后可以通过该题。
019. CF1622F QUADRATIC SET(*2900\COLOR{RED}{2900}2900)
考虑先随便构造出一个比较大的二次集。
众所周知阶乘可以被拆成若干个数的乘法的形式,因此考虑对每个数拆贡献,得到 ∏i=1ni!=∏i=1nin−i+1\prod\limits_{i=1}^ni!=\prod\limits_{i=1}^ni^{n-i+1}i=1∏n i!=i=1∏n in−i+1。此时考虑对每个 iii 把平方项都拆掉。注意到 nnn 的奇偶性会影响剩下的 iii 的取值,因此考虑对 nnn 的奇偶性分类讨论:
若 2∣n2\mid n2∣n:此时 ∏i=1nin−i+1=2n2n2![∏i=1n2(2i−1)!]2\prod\limits_{i=1}^ni^{n-i+1}=2^{\frac n2}\frac n2![\prod\limits_{i=1}^{\frac n2}(2i-1)!]^2i=1∏n in−i+1=22n 2
全部评论 3
如何玩坏指导:把Dev-c++拖进回收站,再清空回收站,主页没有。再打开360软件管家,你会发现Dev显示的是已下载,但是强行打开以后运行不了
2天前 来自 云南
0如果删的是桌面上的DEV-C++,最后只会删掉快捷方式
2天前 来自 北京
0正确的应该去C++最初的默认安装路径
C:\Program Files (x86)\Dev-Cpp2天前 来自 北京
0不知道
2天前 来自 云南
0
这是ACGO首页源代码,我也不知道能不能用,Dev被我玩坏了,至今打不开
2天前 来自 云南
0声明:360安全浏览器右键可查看网页源代码,别喷
2天前 来自 云南
0





















有帮助,赞一个