题解 AT2582 [ARC075D] Mirrored
题意:给定 ,求满足 的 的个数, 表示十进制下将 按位翻转并去掉前导 后的数。
为了更清楚地表示,我们设 为 的位数。
由于是将 翻转,我们直接将翻转前后的位置匹配算贡献。可以直接枚举 ,枚举每对的 高位减低位 的差,就能算出 的值,如果 将方案数计入答案即可。注意一些限制条件即可。这样的复杂度是 。而这样就算我们吸氧, 也只能枚举到 ,会 WA 4 个点。而 却是理论上 的,可以自己证一下。
由于我们写的是搜索,自然可以想想怎么剪枝。我们发现每对的贡献都形如 ,其中 为高位减低位的差。更加具体地,如果当前高位距离最高位有 个数位,贡献为 。如果自己手推几个长度就能发现,由低到高贡献的跨度比每次 还要大。这也就有一个问题:我们枚举匹配出的对时,按贡献从高到低枚举,偏差很难由低位补足。也就是说,满足条件的差的序列很少。这时可行性剪枝效果非常出色。我们只需要在上述做法加一个可行性剪枝即可无压力通过。
:
__EOF__
本文作者:BreezeEnder
本文链接:https://www.cnblogs.com/BreezeEnder/p/15780351.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/BreezeEnder/p/15780351.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· 程序员常用高效实用工具推荐,办公效率提升利器!
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 【译】WinForms:分析一下(我用 Visual Basic 写的)