一个CF1775C(Codeforces Round #843 (Div. 2))的小技巧

n的第i位为1,而我们需要不断令n+1找到下一个最小的k,使得k的第i位为0

技巧:

假设n为10101[1]1001,括号内是要求的第i

那么先将二进制下的n>>i,变为十进制后+1,再转为二进制并<<i,即

(n/(1<<i)+1)(1<<i)

参考@此处

posted @   SxtoxA  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
12 13
点击右上角即可分享
微信分享提示