题目链接
题目大意是给出一个图,求出这个图的所有子图的最大独立子集,最大独立子集是指该集合中所有的点都互相不可达.
一共只有26个点,所以我们考虑用状压dp,用dp[i]表示子图为i的最大独立子集的最大值,i的二进制数中的1代表子图中的结点,我们每次认为i的lowbit代表新加入子图的结点那么这个点可选可不选,状态转移方程就为
d p [ i ] = max ( d p [ i − ( 1 < < j ) ] , d p [ i & ( ∼ a [ j ] ) ] + 1 ) dp[i] = \max(dp[i - (1 << j)],dp[i\&({\sim}a[j])]+1) dp[i]=max(dp[i−(1<<j)],dp[i</
independent set 1
最新推荐文章于 2021-10-21 10:04:48 发布