CP-templates

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub Misuki743/CP-templates

:warning: numtheory/mu_array.cpp

Code

template<class T, int32_t C>
array<T, C> mu_array(linear_sieve<C> &ls) {
  array<T, C> mu = {};
  if (C > 1) mu[1] = T(1);
  auto &mpf = ls.mpf;
  for(int i = 2; i < C; i++)
    mu[i] = (mpf[i] == mpf[i / mpf[i]] ? T(0) : -mu[i / mpf[i]]);
  return mu;
}
#line 1 "numtheory/mu_array.cpp"
template<class T, int32_t C>
array<T, C> mu_array(linear_sieve<C> &ls) {
  array<T, C> mu = {};
  if (C > 1) mu[1] = T(1);
  auto &mpf = ls.mpf;
  for(int i = 2; i < C; i++)
    mu[i] = (mpf[i] == mpf[i / mpf[i]] ? T(0) : -mu[i / mpf[i]]);
  return mu;
}
Back to top page