初识位压缩
位压缩。所谓的位压缩就是用一个整数来保存几个事物的有无状态。我们知道每个整数对应一个二进制,二进制就是01串,而0对应的就是无,1对应有,这样几个事物的有无就可以确定一个二进制串,进而可以确定一个整数。故用整数保存几个事物的有无状态。假设已知一个整数m,要判断事物n(n是编号,从1开始)是否存在,可以进行&运算:m&1<<n-1,如果运算结果为0,则n不存在,如果运算结果非0,则n已存在。如果n不存在,要把n加入,可以进行 | 运算:m | 1<<n-1,可以用运算结果来记录这个新状态。