状压dp

1.位运算技巧

先来学习一波位运算

比如说9

二进制 : 1001

。。。:  3210

设n=9,

n |= 1<<k 表示把n的第k位修改为1

如:n |= 1<<1       1011;

n &= ~(1<<k) 表示把n的第k位修改为0

如: n &= ~(1<<0) 1000;

取第k位: n>>k & 1

构造0~n-1位二进制数全部为1:(1<<n)-1

构造形如10,100,100000即[0, k-1]全部为0,[k,k]为1,这样的二进制数:1<<(k-1)

 

posted @ 2018-08-01 21:28  lmjer  阅读(98)  评论(0编辑  收藏  举报