题意:\(f(n)\)为n的质因子分解中的最大幂指数,求\(\sum_{i=1}^n \sum_{j=1}^m f(gcd(i,j))\)


套路推♂倒

\[\sum_{D=1}^n \sum_{d|D} f(d)\mu(\frac{D}{d}) \frac{n}{D} \frac{m}{D}
\]

这次函数是\(g = (f*\mu )\),\(f\)显然不是积性函数,但我们照样可以用线性筛

具体做法我晚上回家再补吧草稿纸忘带了...

补:

  • \(g(p^a)=p-(p-1)\)

    因为卷了\(\mu\)所以只有\(\mu(1)\)和\(\mu(p)\)时有贡献
  • 考虑\(g(p_1^{a_1} p_2^{a_2}...p_k^{a_k})\),相当于选p的集合,每种p只能选一个放到\(\mu\)里,其余部分在\(f\)里
  • 所有\(a\)相等时,所有集合的结果都是\(a\),只有全选时是\(a-1\),系数\((-1)^k\),那么结果就是\(-(-1)^k\)咯
  • 不相等时,假设最大次数\(a\)有\(b\)个质数,\(a\)出现\(2^b\)此,\(a-1\)出现\(2^{k-b}\)次,正负都抵消了,所以结果为0



线性筛保存最小质因子幂次后的结果和幂次,利用之前的$g$值

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
#define pii pair<int, int>
#define MP make_pair
#define fir first
#define sec second
typedef long long ll;
const int N=1e7+5;
inline int read(){
char c=getchar();int x=0,f=1;
while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();}
return x*f;
} int n, m, k;
int notp[N], p[N], g[N]; pii lp[N];
void sieve(int n) {
g[1] = 0;
for(int i=2; i<=n; i++) {
if(!notp[i]) {
p[++p[0]] = i;
g[i] = 1;
lp[i] = MP(i, 1);
}
for(int j=1; j<=p[0] && i*p[j]<=n; j++) {
int t = i*p[j];
notp[t] = 1;
if(i%p[j] == 0) {
lp[t] = MP(lp[i].fir * p[j], lp[i].sec + 1);
int rem = i / lp[i].fir;
if(rem == 1) g[t] = 1;
else g[t] = lp[t].sec == lp[rem].sec ? -g[rem] : 0;
break;
}
lp[t] = MP(p[j], 1);
g[t] = lp[t].sec == lp[i].sec ? -g[i] : 0;
}
}
for(int i=1; i<=n; i++) g[i] += g[i-1];
}
ll cal(int n, int m) {
if(n>m) swap(n, m);
ll ans=0; int r;
for(int i=1; i<=n; i=r+1) {
r = min(n/(n/i), m/(m/i));
ans += (ll) (g[r] - g[i-1]) * (n/i) * (m/i);
}
return ans;
} int main() {
//freopen("in","r",stdin);
sieve(N-1);
int T=read();
while(T--) {
n=read(); m=read();
printf("%lld\n", cal(n, m));
}
}

BZOJ 3309: DZY Loves Math [莫比乌斯反演 线性筛]的更多相关文章

  1. bzoj 3309 DZY Loves Math 莫比乌斯反演

    DZY Loves Math Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 1303  Solved: 819[Submit][Status][Dis ...

  2. 【BZOJ3309】DZY Loves Math 莫比乌斯反演+线性筛(好题)

    [BZOJ3309]DZY Loves Math Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10 ...

  3. 【bzoj3309】DZY Loves Math 莫比乌斯反演+线性筛

    Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0. 给定正整数a,b, ...

  4. [BZOJ3309]DZY Loves Math(莫比乌斯反演+线性筛)

    $\sum\limits_{T=1}^{n}\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\sum\limits_{d|T}f(d)\mu(\fr ...

  5. BZOJ 3309 DZY Loves Math ——莫比乌斯反演

    枚举$d=gcd(i,j)$ 然后大力反演 ——来自Popoqqq的博客. 然后大力讨论后面的函数的意义即可. http://blog.csdn.net/popoqqq/article/details ...

  6. bzoj 3309 DZY Loves Math —— 莫比乌斯反演+数论分块

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3309 凭着上课所讲和与 Narh 讨论推出式子来: 竟然是第一次写数论分块!所以迷惑了半天: ...

  7. BZOJ 3309: DZY Loves Math 莫比乌斯反演+打表

    有一个神奇的技巧——打表 code: #include <bits/stdc++.h> #define N 10000007 #define ll long long #define se ...

  8. 【BZOJ】3309: DZY Loves Math 莫比乌斯反演优化

    3309: DZY Loves Math Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007) ...

  9. ●BZOJ 3309 DZY Loves Math

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3309 题解: 莫比乌斯反演,线筛 化一化式子: f(x)表示x的质因子分解中的最大幂指数 $ ...

随机推荐

  1. 大区间素数筛选(POJ 2689)

    /* *POJ 2689 Prime Distance *给出一个区间[L,U],找出区间内容.相邻的距离最近的两个素数和距离最远的两个素数 *1<=L<U<=2147483647 ...

  2. SpringMVC框架学习笔记(3)——controller配置汇总

    1.通过URL对应bean <!-- 配置handlerMapper 映射器 --> <bean class="org.springframework.web.servle ...

  3. 【C#】数据库脚本生成工具(二)

    年C#研发的数据库文档生成工具,给之后的工作带来了便利.近日,又针对该工具,用WinForm开发了数据库脚本生成工具-DbExcelToSQL. 下面数据库文档生成工具效果图: 感兴趣的朋友可以看下[ ...

  4. js定时器之setTimeout的使用

    之前用过定时器,只不过用的不是很多,关于js定时器,一般而言我们很容易想到setInterval和setTimeout这两种. 刚开始学js定时器时,记住了setInterval,该方法一般用于每隔多 ...

  5. C++ 默认参数(转载)

    函数的默认参数值,即在定义参数的时候同时给它一个初始值.在调用函数的时候,我们可以省略含有默认值的参数.也就是说,如果用户指定了参数值,则使用用户指定的值,否则使用默认参数的值. void Func( ...

  6. WinSCP怎么导入filezilla中的站点?

    WinSCP是一款优秀的图形界面,远程文件管理工具,其出色的图形化界面与windows完美集成,是运用在windows上与远程服务器安全传输文件的软件之一 工具/原料 winscp 方法/步骤 下载. ...

  7. Xshell学习--菜鸟篇

    http://www.cnblogs.com/perseverancevictory/p/4910145.html 1)关于Xshell 网上更多的资料里提到的SSH客户端是putty,因为简单.开源 ...

  8. dedecms_分页技术

    <ul>{dede:list pagesize='30'} <li><a href="[field:arcurl/]">[field:title ...

  9. [SinGuLaRiTy] NOIP模拟题 by liu_runda

    [SinGuLaRiTy-1046] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 题目名称 兔子 被子 蚊子 源程序文件名 rabbit. ...

  10. Visio绘制用例图问题集锦

    1.Visio画UML用例图没有include关系的解决方法 发现Visio UML用例里面找不到include关系,即"箭头"+"<<include> ...