假定给定一行数,由0和1组成,我们可以把这串0、1序列看作一个二进制序列,于是可以压缩成一个整数表示这一行的状态。上述例子描述了状态压缩的基本性质。但在竞赛中,往往是没有直观的题目,任何算法都要经过思考进行应用的。在此就说说状态压缩的基本操作,通常就是进行一些位运算:~表示按位取反,^表示异或,&表示运算与,|表示运算或。关键就是怎么进行状态转换,和一般dp一样寻找状态和状态转移。
关于自己做过的几道状态压缩题目:pku1185、pku2411、pku3254。复习的时候看看。
假定给定一行数,由0和1组成,我们可以把这串0、1序列看作一个二进制序列,于是可以压缩成一个整数表示这一行的状态。上述例子描述了状态压缩的基本性质。但在竞赛中,往往是没有直观的题目,任何算法都要经过思考进行应用的。在此就说说状态压缩的基本操作,通常就是进行一些位运算:~表示按位取反,^表示异或,&表示运算与,|表示运算或。关键就是怎么进行状态转换,和一般dp一样寻找状态和状态转移。
关于自己做过的几道状态压缩题目:pku1185、pku2411、pku3254。复习的时候看看。