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

关于莫比乌斯函数的应用

include

include

include

int main() {
constexpr int M = 20101009;
int n, m;
std::cin >> n >> m;
if (n > m) std::swap(n, m);
std::vector f(n + 1), vis(n + 1), prime;
prime.reserve(n);
f[1] = 1;
for (int x = 2; x <= n; ++x) {
if (!vis[x]) {
prime.emplace_back(x);
f[x] = 1 - x;
}
for (int p : prime) {
if (1LL * p * x > n) break;
vis[x * p] = 1;
f[x * p] = x % p ? (1 - p) * f[x] : f[x];
if (x % p == 0) break;
}
}
for (int x = 1; x <= n; ++x) {
f[x] = 1LL * x * f[x] % M + M;
f[x] = (f[x] + f[x - 1]) % M;
}
long long res = 0;
for (int l = 1, r; l <= n; l = r + 1) {
int nn = n / l, mm = m / l;
r = std::min(n / nn, m / mm);
int g_n = (1LL * nn * (nn + 1) / 2) % M;
int g_m = (1LL * mm * (mm + 1) / 2) % M;
res += 1LL * g_n * g_m % M * (f[r] - f[l - 1] + M) % M;
}
std::cout << (res % M) << '\n';
return 0;
}

http://www.jsqmd.com/news/18921/

相关文章:

  • 软件工程第三次作业----结对项目
  • 用deepseek写的一个求原根的程序
  • 操作备忘:在AE中让视频中间部分变慢
  • 记一次精简系统Windows11英文版离线安装中文语言包的过程
  • 阿里巴巴数据库开发手册
  • AI元人文:赋能公共治理、司法与监管的价值权衡新范式
  • 数据结构之顺序队列
  • nginx快速实现平滑版本升级
  • 基础的sql练习,全都理解你就是高手了!
  • Luogu P11159 【MX-X6-T5】 再生 题解 [ 蓝 ] [ 前缀和 ] [ 组合计数 ]
  • 王浩宇 102500416
  • 102500416 王浩宇
  • 程序员修炼之路:从小工到专家 读书笔记 2
  • 程序员修炼之路:从小工到专家 读书笔记 3
  • 解答在同步以太坊事件数据时,如何保证后端服务在 API/RPC 不稳定情况下的可用性
  • 中级问题
  • 好想好想你
  • 10.21日学习笔记
  • 第1天(简单题 基础语法 数据类型、条件判断 、循环 循环嵌套、位运算, ASCII 码)
  • 24信计2班 17曾向嵩 pytorch读书报告
  • 关于第一次作业的时长统计
  • Go 语言问题解释
  • Keil_v5的用法
  • [Tool] lsof: 列出打开的文件描述符
  • 【C语言学习记录】你好世界
  • Day1文本格式化标签
  • 24信计2班 17曾向嵩 pytorch66页实验题
  • 解答这些常见的智能合约安全问题,并提供相应的防护措施
  • 解答这些 Solidity 开发中的重要问题
  • Day1排版标签,标题与段落