原题
题目大意
一个由1,2,3……2n组成的集合,问它由多少个子集满足以下条件:该子集包含a、b,其中a是该子集中最小的元素,b是a的倍数
分析
首先考虑,显然可以枚举最小元素k(1……n),对于任意一个k,它的倍数的个数为2n/k-1,对于这些倍数,至少要取一个,那么一共有2^((2n/k-1)-1)(就是所有的可能减去一个空集的可能),剩下的元素可取可不取,那么一共有2^(2n-i-2*n/i+1),再根据乘法原理,相乘就是答案。
参考代码
|
|
吾生也有涯,而知也无涯
一个由1,2,3……2n组成的集合,问它由多少个子集满足以下条件:该子集包含a、b,其中a是该子集中最小的元素,b是a的倍数
首先考虑,显然可以枚举最小元素k(1……n),对于任意一个k,它的倍数的个数为2n/k-1,对于这些倍数,至少要取一个,那么一共有2^((2n/k-1)-1)(就是所有的可能减去一个空集的可能),剩下的元素可取可不取,那么一共有2^(2n-i-2*n/i+1),再根据乘法原理,相乘就是答案。
|
|