Codeforces Round 963 (Div. 2)
1|0Preface
有懒狗上周日的比赛拖到这周日才写博客,我不说是谁
这场比赛的时候因为 C 数组没开两倍卡了 1h 最后写对拍才看出来,直接心态爆炸导致 D 没写完掉大分
2|0A. Question Marks
签到
3|0B. Parity and Sum
注意到偶数与奇数的和依然为奇数,因此我们的策略总是把所有偶数变成奇数
拿出最大的奇数,从小到大和所有偶数比较,能操作就吸收这个偶数得到更大的奇数;否则直接找一个奇数和最大的偶数操作后得到一个最大的数,这个数一定可以和所有偶数进行操作
4|0C. Light Switches
不难发现灯的状态以 为周期变化,因此很容易想到把所有 投射到 的数组上
此时我们需要找到一个长为 的区间 使得其包含所有的数,注意这个区间是在模意义下的可以跨过末尾
最后答案为最小的 ,且所有的 ,简单枚举即可
5|0D. Med-imize
中位数的处理套路就是二分答案 ,然后将 的数置为 , 的数置为 (置为 也行),最后就是要使得留下的数的和大于某个定值
假设最后留下了 个数,观察这些数需要满足什么限制,手玩后发现它们下标对 取模的值从左到右一定为
因此很容易想到 DP,令 表示处理了前 个数,且最后选的数下标模 的值和 相同的最大权值和,转移显然
6|0E. Xor-Grid Problem
观察到核心性质后就不难的一个题
不妨给矩形多扩展一行一列,其中最后一行的数字代表这列所有数字的异或和;最后列的数字代表这行所有数字的异或和
此时不难发现每个操作等价于交换某一行和最后一行,以及交换某一列和最后一列
但我们最后计算答案时不考虑多出的这一行一列,因此需要在选出某行某列删去后,将剩下的行列任意排布得到答案
不难发现行和列的贡献可以分开计算,以行为例,任意两行相邻排布的贡献就是它们对应列(去掉被删除的列后)上元素差的绝对值和
这形成了一个类似哈密顿路径的问题,可以简单状压 DP 解决,最后将删去某行某列的答案合并即可
认为 同阶,总复杂度
7|0F1. Dyn-scripted Robot (Easy Version)
感觉比 D,E 都简单,算是个经典套路题
对于这类反射类问题一个经典的处理就是不改变机器人的移动方向,而是将整个外框镜像一下,这样就不涉及修改操作序列了
手玩下会发现当机器人走到 时,在原矩形中的位置相当于
因此这题很容易求解,我们先求出进行一整个序列的操作后坐标的偏移量 ,然后枚举之前进行了 次完整的操作
要回到 等价于在某个位置的偏移量为 (模意义下),用 map
统计下即可
8|0Postscript
感觉最近不管什么比赛只要不顺心就容易红温犯病,明明已经算是老登了心态还是一如既往的烂
今晚还有 Div1+2,周末还要去北京打百度之星的决赛,希望别暴毙地太难看了吧
__EOF__

本文链接:https://www.cnblogs.com/cjjsb/p/18353827.html
关于博主:复活的ACM新生,目前爱好仅剩Gal/HBR/雀魂/单机/OSU
版权声明:转载请注明出处
声援博主:欢迎加QQ:2649020702来DD我
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2023-08-11 UESTC 2023 Summer Training #15 Div.2
2023-08-11 UESTC 2023 Summer Training #26 for div2/2020-2021 Winter Petrozavodsk Camp, UPC contest
2022-08-11 Codeforces Round #807 (Div. 2)
2018-08-11 Luogu P2468 [SDOI2010]粟粟的书架