Codeforces Round 922 (Div. 2)
1|0基本情况
A、B秒了,C二进制拆位处理短板,卡了很久,D没想出来,甚至二分都没考虑。
2|0C. XOR-distance
这题算是给我上了一课,
二进制拆位处理真该好好学学了。
2|1思路
思路很好想,从高位往低位处理:
- 先找到最高的不同的位
- 如果是上
下 ,说明结果最高位是正的。 - 如果是上
下 ,说明结果最高位是正的。
- 如果是上
- 之后找每一个不同的位
- 如果最高位是正的,就只对 上
下 的情况取反处理。 - 如果最高位是负的,就只对 上
下 的情况取反处理。 - 总结:同号取反处理,异号不作处理。
- 如果最高位是正的,就只对 上
2|2实现
由于第一次遇到这种题,所以啥都是从头开始。
- 判断
的二进制第 位是什么
我最开始是用了十进制类似处理方法,就每次把这个数左移一,然后按位与一,但是这样会改变数原来的数值。
后面想到了更简便的处理方法,但是用的是原数右移,也是很麻烦。
学习了最合适的方法 x & (1 << k)
。
原理很显然,算是一个
其实破题关键点就是这个,我因为这个用的不是最方便的,导致了石山代码。
之后实现就按位处理即可。
3|0D. Blocking Elements
这题真的是技不如人了。
甚至正解的边都没碰到,一直在想贪心错解。
正解是二分,check时候要用到单调队列优化DP。
目前仅限于理解大体思路,感觉距离这道题还有很大距离,先放着。
__EOF__

本文作者:Kdlyh
本文链接:https://www.cnblogs.com/kdlyh/p/17999457.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/kdlyh/p/17999457.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下