当前位置: 首页 > news >正文

莫比乌斯函数/反演

莫比乌斯函数/反演

莫比乌斯函数定义:\(\displaystyle {\mu(n) = \begin{cases} 1 &n = 1 \\ (-1)^k &n = \prod_{i = 1}^k p_i \text{ 且 } p_i \text{ 互质 } \\ 0 &else \end{cases}}\)

莫比乌斯函数性质:对于任意正整数 \(n\) 满足 \(\displaystyle {\sum_{d|n}\mu(d) = \begin{cases} 1 & n = 1 \\ 0 & n \neq 1\end{cases}}\)\(\displaystyle {\sum_{d|n} \frac{\mu(d)}{d} = \frac{\varphi(n)}{n}}\)

莫比乌斯反演定义:定义:\(F(n)\)\(f(n)\) 是定义在非负整数集合上的两个函数,并且满足 \(\displaystyle F(n) = \sum_{d|n}f(d)\) ,可得 \(\displaystyle f(n) = \sum_{d|n}\mu(d)F(\left \lfloor \frac{n}{d} \right \rfloor)\)

const int N = 5e4 + 10;
bool st[N];
int mu[N], prime[N], cnt, sum[N];
void getMu() {mu[1] = 1;for (int i = 2; i <= N - 10; i++) {if (!st[i]) {prime[++cnt] = i;mu[i] = -1;}for (int j = 1; j <= cnt && i * prime[j] <= N - 10; j++) {st[i * prime[j]] = true;if (i % prime[j] == 0) {mu[i * prime[j]] = 0;break;}mu[i * prime[j]] = -mu[i];}}for (int i = 1; i <= N - 10; i++) {sum[i] = sum[i - 1] + mu[i];}
}
void solve() {int n, m, k; cin >> n >> m >> k;n = n / k, m = m / k;if (n < m) swap(n, m);LL ans = 0;for (int i = 1, j = 0; i <= m; i = j + 1) {j = min(n / (n / i), m / (m / i));ans += (LL)(sum[j] - sum[i - 1]) * (n / i) * (m / i);}cout << ans << "\n";
}
int main() {getMu();int T; cin >> T;while (T--) solve();
}
http://www.jsqmd.com/news/21196/

相关文章:

  • 同余方程组、拓展中国剩余定理 excrt
  • 完整教程:微软2025教育AI报告:教育群体采用AI的比例显著提升
  • 求解连续数字的正约数集合——倍数法
  • 扩展欧几里得 exgcd
  • 离散对数 bsgs 与 exbsgs
  • 防爆模乘
  • 欧拉筛(线性筛)
  • 常见数列
  • 20232314 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 【LTDC】LTDC 简介
  • Markdown数学公式 - -一叶知秋
  • 分类器案例 - -一叶知秋
  • 最大流
  • 最小割树 Gomory-Hu Tree
  • 最小割
  • 费用流
  • 图论常见结论及例题
  • 查询GPIO状态值(步骤)
  • 最长路(topsort+DP算法)
  • 最短路径树(SPT问题)
  • 欧拉路径/欧拉回路 Hierholzers
  • 无源汇点的最小割问题 Stoer–Wagner
  • 染色法判定二分图 (dfs算法)
  • 链式前向星建图与搜索
  • 一般图最大匹配
  • CF2152G
  • 缩点(Tarjan 算法)
  • 平面图最短路(对偶图)
  • 多源汇最短路(APSP问题)
  • 最小生成树(MST问题)