
周中训练笔记21
对于偶数x,执行x | 1 左移操作: 右移操作: XOR操作可以用来获取对应的值(例如0对应1,2对应3,8对应9) 生成一个所有位都为1的n位数: 消造一个形如10、100、100000的二进制数(如[0, k-1]为0,[k,k]为1): 将a的第k位设置为1: 将a的第k位设置为0: 检查a的第k位是否为1:
发布日期:2021-05-14 13:34:25
浏览次数:15
分类:精选文章
本文共 513 字,大约阅读时间需要 1 分钟。
数据库考试结束了,我开始全身心投入学习状态压缩(DP)的学习中。然而,我发现状态压缩(DP)的大多数实现都依赖于位运算,这一点让我感到有些困惑。
有些人可能会将每个状态选取与否对应到二进制位上,这样可以压缩状态数据为一个整数,从而便于计算和维护。
大部分人使用位运算来处理状态压缩的问题,这使得状态数据保存更加高效。每个单元状态通常只有两种可能性,可以用0或1来表示。例如,棋盘上的格子可以是放棋子或不放棋子,硬币可以是正反两面。这些状态可以被压缩到一个二进制整数中。
在学习状压DP的过程中,我收集了几种常用的位运算技巧:
~x
:取反操作1 << x
1 >> x
1 << n - 1
1 << (k-1)
状态压缩DP中的常用操作包括:
a |= 1 << k
a &= ~(1 << k)
a >> k & 1
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月26日 10时08分04秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C#跨窗体程序调用方法的具体操作
2019-03-10
关于继承的一些基本知识
2019-03-10
抖音发布黄金时间段,抖音上热门最佳时间
2019-03-10
我的图床~
2019-03-10
Thymeleaf sec:authorize 标签不生效
2019-03-11
Iterable与Iterator
2019-03-11
关于WebView当前地址问题的疑惑
2019-03-11
Python机器学习(九十二)Pandas 统计
2019-03-11
SecSolar:为代码“捉虫”,让你能更专心写代码
2019-03-11
链上钱包的博彩雷区
2019-03-11
GRUB2
2019-03-11
微信JS-SDK DEMO页面和示例代码
2019-03-11
GridView自定义删除操作
2019-03-11
一张图搞定RPC框架核心原理
2019-03-11
Scala中的包
2019-03-11
他来了他来了,他带着云栖大会的免费门票走来了
2019-03-11
获取linux 主机cpu类型
2019-03-11
限流的算法有哪些?
2019-03-11
Android Studio updating indices 一直刷新和闪烁
2019-03-11