Codeforces Round 940 (Div. 2)
这场还挺Edu的
1|0C. How Does the Rook Move?
- 数学方法
我用的数学方法,卡了很久才推出来思路和式子。
首先行列其实等价,直接单考虑剩余
这类题应该选择先选一个东西,然后处理剩下的东西。
这里好做的方法是先选
因为后选的格子每次会耗费两个,所以要保证留给后选的数目必须为偶数。
所以大体流程就是枚举所有的
这里推选
但是剩下的那个卡了我半小时:
我们还剩下
我们可以看到,剩余列的
为了消除多算,我们可以用
因此,答案变为
- 动态规划
赛时也有往这个方向考虑,但是不知道怎么转移。
移动基本上有两种类型:
- 在某个
位置放置车:这将减少 的空闲行列数。 - 将车置于
,其中 :现在计算机也会这样做,将车置于 处,挡住 和 行以及 和 列。因此空闲行列数减少了 。
首先,我们算出之前下过的
注意移行/列的顺序并不影响车的最终配置,因此只有行数才是决定最终配置数的关键。
定义
由于移除行/列的顺序并不重要,我们从移除最后一行或最后一列开始。
在移除
- 我们放置车
,结果是只删除最后一行和一列,留下一个 格。这种情况下的最终配置数为 。 - 或者,我们也可以在
或 中的任意 放置车。这步棋之后, th和 th行列都被删除,剩下一个 格。这就为 贡献了 。
总的来说,我们计算了所有
我们的最终答案是
2|0D. A BIT of an Inequality
二进制拆位前缀和,只是维护的是到当前这位的
维护出来之后对每个
显然为偶数的情况要么是奇数加奇数,要么是偶数加偶数。
__EOF__

本文链接:https://www.cnblogs.com/kdlyh/p/18149939.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示