整理的算法模板合集: ACM模板

点我看算法全家桶系列!!!

实际上是一个全新的精炼模板整合计划


AcWing 1358. 约数个数和(莫比乌斯反演经典、双上限整除分块)


#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>using namespace std;const int N = 50007;typedef long long ll;int n, m, t;
int primes[N];
ll res;
bool vis[N];
int mu[N];
int sum[N];
int cnt;
int H[N];int g(int k, int x) {return k / (k / x);}void init(int n)
{mu[1] = 1;for(int i = 2; i <= n; ++ i) {if(vis[i] == 0) {primes[ ++ cnt] = i;mu[i] = -1;}for(int j = 1; j <= cnt && primes[j] * i <= n; ++ j) {vis[i * primes[j]] = true;if(i % primes[j] == 0) break;mu[i * primes[j]] = -mu[i];}}for(int i = 1; i <= n; ++ i) sum[i] = sum[i - 1] + mu[i];for(int i = 1; i <= n; ++ i) {for(int l = 1, r; l <= i; l = r + 1) {r = min(i, g(i, l));H[i] += (r - l + 1) * (i / l);}}
}int main()
{cin >> t;init(N - 1);while(t -- ) {res = 0;scanf("%d%d", &n, &m);int k = min(n, m);for(int l = 1, r; l <= k; l = r + 1) {r = min(k, min(g(n, l), g(m, l)));res += ((ll)sum[r] - sum[l - 1]) * H[n / l] * H[m / l];}printf("%lld\n", res);}return 0;
}

SDOI2015 约数个数和(莫比乌斯反演经典、双上限整除分块)超详细笔记相关推荐

  1. 【BZOJ3994】[SDOI2015]约数个数和 莫比乌斯反演

    [BZOJ3994][SDOI2015]约数个数和 Description 设d(x)为x的约数个数,给定N.M,求   Input 输入文件包含多组测试数据. 第一行,一个整数T,表示测试数据的组数 ...

  2. 【bzoj3994】[SDOI2015]约数个数和 莫比乌斯反演

    题目描述 设d(x)为x的约数个数,给定N.M,求   输入 输入文件包含多组测试数据. 第一行,一个整数T,表示测试数据的组数. 接下来的T行,每行两个整数N.M. 输出 T行,每行一个整数,表示你 ...

  3. BZOJ 3994: [SDOI2015]约数个数和 [莫比乌斯反演 转化]

    2015 题意:\(d(i)\)为i的约数个数,求\(\sum\limits_{i=1}^n \sum\limits_{j=1}^m d(ij)\) \(ij\)都爆int了.... 一开始想容斥一下 ...

  4. BZOJ 3994 [SDOI2015]约数个数和 (莫比乌斯反演)

    题目大意:略 洛谷传送门 首先要知道这样一个公式不知道这个公式这道题还怎么做... $d(ij)=\sum\limits_{x=1}^{i} \sum\limits_{y=1}^{j}[gcd(x,y ...

  5. P3327 [SDOI2015]约数个数和 (mobius反演)

    P3327 [SDOI2015]约数个数和 推导过程 求∑i=1n∑j=1md(ij)\sum_{i = 1} ^{n} \sum_{j = 1} ^{m} d(ij)∑i=1n​∑j=1m​d(ij ...

  6. [SDOI2015]约数个数和【莫比乌斯反演】

    [SDOI2015]约数个数和 题意:\(d(x)\)为\(x\)的约数个数,求\(\sum_{i=1}^n\sum{j=1}^md(ij)\) 由结论得\[ans=\sum_{i=1}^n\sum_ ...

  7. [bzoj3994] [SDOI2015]约数个数和

    Description 设d(x)为x的约数个数,给定N.M,求 \(\sum_{i=1}^N\sum_{j=1}^Md(ij)\) Input 输入文件包含多组测试数据. 第一行,一个整数T,表示测 ...

  8. luogu P3327 [SDOI2015]约数个数和(rng58-clj等式)

    luogu P3327 [SDOI2015]约数个数和(rng58-clj等式) 题目大意 设d(x)d(x)d(x)为x的因子的个数,给出N和M求 ∑i=1n∑j=1md(i,j)\sum_{i=1 ...

  9. 洛谷 [SDOI2015]约数个数和 解题报告

    [SDOI2015]约数个数和 题目描述 设\(d(x)\)为\(x\)的约数个数,给定\(N,M\),求$ \sum\limits^N_{i=1}\sum\limits^M_{j=1}d(ij)$ ...

最新文章

  1. docker 卸载镜像_Centos7 安装 Docker
  2. asp.net在线预览txt文件(简单实现)
  3. 敏捷与DevOps整合之道
  4. azkaban的操作指南
  5. 黑马程序员--C语言基础之--sizeof()运算符的使用以及注意
  6. matlab当前目录下的相对路径
  7. LeetCode 343. 整数拆分(动态规划)
  8. 批处理脚本学习笔记——程序猿版
  9. 尘福通:智慧城市建设、运营、演进路径思考
  10. JAVA 面向对象和集合知识点总结
  11. 鸿蒙分期靠谱吗,花呗借呗“陷阱”正式被确认,这两个禁忌不要触碰,别说没提醒你...
  12. MPU和MMU、MPU和MCU的区别
  13. 27岁IE浏览器正式退役
  14. 企业承担社会责任的必要性
  15. android陌陌权限申请实现,Hook实现Android 微信,陌陌 ,探探位置模拟
  16. android windows 无线视频传输,基于Android端到端实时无线视频传输系统
  17. 数字金字塔 (15 分)
  18. 【工具】注重效率、易于管理的系统重装和设置
  19. 深圳立仪科技进军2021年DME中国(东莞)机械展会
  20. 关于python打包py文件成exe文件

热门文章

  1. 深度学习 Optimizer 梯度下降优化算法总结
  2. 教程 | 单级式目标检测方法概述:YOLO与SSD
  3. 基于OpenCV Haar实战级联分类器的使用
  4. 详解JVM内存管理与垃圾回收机制3 - JVM中对象的内存布局
  5. ActionScript 3.0 编程精髓 示例源码下载
  6. win7上安装theano keras深度学习框架
  7. POJ 3342 树形DP+Hash
  8. 二进制数据格式MessagePack:比JSON更快更轻巧
  9. 整合Flex和Java(中)
  10. linux中的gun含义,linux中gun的含义