#include <leetcode.h>
|
static constexpr int | mask_max = 1 << primes.size() |
|
static constexpr int | mod = 1000000007 |
|
static constexpr int | num_max = 30 |
|
static constexpr array< int, 10 > | primes = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29} |
|
◆ numberOfGoodSubsets()
int leetcode::the_number_of_good_subsets::Solution::numberOfGoodSubsets |
( |
vector< int > & | nums | ) |
|
|
static |
在文件 leetcode.cpp 第 3391 行定义.
3391 {
3392 vector<int> freq(
num_max + 1);
3393 for(const int num: nums) {
3394 freq[num]++;
3395 }
3396
3398 f[0] = 1;
3399 for(int i = 0; i < freq[1]; ++i) {
3400 f[0] = f[0] * 2 %
mod;
3401 }
3402
3403 for(
int i = 2; i <=
num_max; ++i) {
3404 if(freq[i] == 0) {
3405 continue;
3406 }
3407
3408
3409 int subset = 0;
3410 const int x = i;
3411 bool check = true;
3412 for(
int j = 0; j <
primes.size(); j++) {
3413 const int prime =
primes[j];
3414 if(x % (prime * prime) == 0) {
3415 check = false;
3416 break;
3417 }
3418 if(x % prime == 0) {
3419 subset |= 1 << j;
3420 }
3421 }
3422 if(!check) {
3423 continue;
3424 }
3425
3426
3427 for(
int mask =
mask_max - 1; mask > 0; mask--) {
3428 if((mask & subset) == subset) {
3429 f[mask] = (f[mask] +
static_cast<long long>(f[mask ^ subset]) * freq[i]) %
mod;
3430 }
3431 }
3432 }
3434 for(
int mask = 1; mask <
mask_max; mask++) {
3436 }
3438 }
vector< vector< int > > ans
static constexpr int mask_max
static constexpr int num_max
static constexpr array< int, 10 > primes
引用了 mask_max, mod, num_max , 以及 primes.
被这些函数引用 leetcode::the_number_of_good_subsets::TEST() , 以及 leetcode::the_number_of_good_subsets::TEST().
◆ mask_max
int leetcode::the_number_of_good_subsets::Solution::mask_max = 1 << primes.size() |
|
staticconstexprprivate |
◆ mod
int leetcode::the_number_of_good_subsets::Solution::mod = 1000000007 |
|
staticconstexprprivate |
◆ num_max
int leetcode::the_number_of_good_subsets::Solution::num_max = 30 |
|
staticconstexprprivate |
◆ primes
array<int, 10> leetcode::the_number_of_good_subsets::Solution::primes = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29} |
|
staticconstexprprivate |
该类的文档由以下文件生成: