容斥原理
对于两个集合,
对于三个集合,
以此类推即可,上式很好理解的
对于容斥原理,可以用二进制枚举,当然dfs也行,这两个复杂度差不多
二进制枚举
对于一个二进制数,每一位只有1和0两种情况,对应着取与不取
举个例子,一共有5件物品,那么最大值就选择(1<<5)-1 = 11111 = 31,如果从00001枚举到11111,也就是1---31,就能把所有情况都枚举出来了
题目
容斥原理
对于两个集合,
对于三个集合,
以此类推即可,上式很好理解的
对于容斥原理,可以用二进制枚举,当然dfs也行,这两个复杂度差不多
二进制枚举
对于一个二进制数,每一位只有1和0两种情况,对应着取与不取
举个例子,一共有5件物品,那么最大值就选择(1<<5)-1 = 11111 = 31,如果从00001枚举到11111,也就是1---31,就能把所有情况都枚举出来了
题目