位运算技巧分类总结 2024-03-06 学习笔记 算法刷题笔记 0 评论 字数统计: 284(字) 阅读时长: 1(分) 从集合论到位运算,常见位运算技巧分类总结! 1.集合与集合 2.集合与元素 3.遍历集合 设元素范围从 000到 n−1n-1n−1,挨个判断每个元素是否在集合 sss中: 123for i in range(n): if (s >> i) & 1: # i 在 s 中 # 处理 i 的逻辑 4.枚举集合 设元素范围从 000到 n−1n-1n−1,从空集∅\empty∅枚举到全集UUU: 12for s in range(1 << n): # 处理 s 的逻辑 从大到小枚举所有非空子集: 1234sub=swhile sub: # 处理 sub 的逻辑 sub=(sub-1)&s 5.练习 位运算练习: LeetCode 78. 子集 LeetCode 77. 组合 LeetCode 46. 全排列 状态压缩 DP。这类题目通常和排列/子集有关,可以先从暴力回溯开始思考,再过渡到记忆化搜索和递推。 LeetCode 2172. 数组的最大与和 LeetCode 1125. 最小的必要团队 LeetCode 2305. 公平分发饼干 LeetCode 1494. 并行课程 II LeetCode LCP 53. 守护太空城 LeetCode 1879. 两个数组最小的异或值之和 LeetCode 1986. 完成任务的最少工作时间段