状态压缩中常用的位运算(DP)

面对位运算,一直很无感。。。可能数学太差,脑洞太小。

1.首先是最基本的:

与&,或|,非~,异或^。

2.获取一个或者多个固定位的值:

假设 x = 1010(二进制),我们要取左数第二位的值,可以用(x &(1<<1));

还可用(x&(3<<2))来取得第三位和第四位。

3.把一个或者多个固定的位上的值清零:

同样 x = 1010(二进制),我们要使左数第二位的值清零,可以用(x^(1<<1))。

待续。。

原文地址:https://www.cnblogs.com/henserlinda/p/5196521.html