0%

【算法学习笔记】07-折半搜索

双向bfs

不太常用,但可以学习思想

【算法学习笔记】07-折半搜索

背包问题

值域超了的情况下

  • 分成两组:1-n/2,n/2+1-n;每一组都有 2^n/2^ 种选择,满足 vL+vR <= V
  • 排序vL, vR:(优化)归并
  • 双指针合并两边

例题

序列异或

枚举 b1, b2,记录 v = a[b1] xor a[b2] 在 cnt[v],然后枚举 b3, b4,查询cnt[a[b3] xor a[b4]],加和