Meet in the middle 1

整点洋名玩玩
折半搜索,一个让暴搜/状压的复杂度上根号的算法
内涵还是比较好理解的:
就是当前一个0/1表示的全部状态,我从中间截断分别处理
然后用的时候我再把这些东西拼起来就行了

所以怎么拼起来呢?
显然不能暴力拼,否则时间复杂度回去了
我做到的题(虽然只有两道)里都是用双指针做到合并的较低复杂度

然后一个状压的小技巧:
就是预处理的时候可以从已经预处理过的"当前状态减去lowbit"得到
这样时间复杂度少一个n的常数

大致的流程
1.状压折半预处理 2.双指针拼凑

posted @   2K22  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示