博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[国家集训队]Crash的数字表格【莫比乌斯反演】
阅读量:6147 次
发布时间:2019-06-21

本文共 1891 字,大约阅读时间需要 6 分钟。

\[\sum_{i=1}^n\sum_{j=1}^mLCM(i, j)\; mod\; 20101009\],
\(n, m\le {10}^7\)
以下\(n \le m\)
\[ans=\sum_{i=1}^n\sum_{j=1}^mLCM(i, j)\]
\[=\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{GCD(i, j)}\]
\[=\sum_{d=1}^n\sum_{i=1}^n\sum_{j=1}^m\frac{ij[GCD(i, j) == d]}{d}\]
\[=\sum_{d=1}^nd\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}ij[GCD(i, j) == 1]\]
\[f(d)=\sum_{i=1}^x\sum_{j=1}^yij[GCD(i,j) == d]\]
\[g(d)=\sum_{d|n}f(n)\]
\[g(d)=\sum_{i=1}^x\sum_{j=1}^yij[d|GCD(i,j)]\]
\[=d^2\sum_{i=1}^{\lfloor\frac{x}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{y}{d}\rfloor}ij[1|GCD(i,j)]\]
\(sum(x)=\sum_{i=1}^xi\)
\[g(d)=d^2\sum_{i=1}^{\lfloor\frac{x}{d}\rfloor}i*sum(\lfloor\frac{y}{d}\rfloor)\]
\[=d^2*sum(\lfloor\frac{x}{d}\rfloor)*sum(\lfloor\frac{y}{d}\rfloor)\]
\[f(n)=\sum_{n|d}\mu(\frac{d}{n})g(d)\]
\[f(1)=\sum_{d=1}^x\mu(d)g(d)\]
\[=\sum_{d=1}^x\mu(d)d^2*sum(\lfloor\frac{x}{d}\rfloor)*sum(\lfloor\frac{y}{d}\rfloor)\]
\[ans=\sum_{d=1}^nd\sum_{x=1}^{\lfloor\frac{n}{d}\rfloor}\mu(x)x^2*sum(\lfloor\frac{n}{xd}\rfloor)*sum(\lfloor\frac{m}{xd}\rfloor)\]
好像到这样就可以了?

void init(){    miu[1]=1;    for(int i=2; i < Maxn; i++){        if(!pr[i]) pr[++ptot]=i, miu[i]=-1;        for(int j=1, x; j <= ptot && (x=i*pr[j]) < Maxn; j++){            pr[x]=1; if(i%pr[j] == 0) break; miu[x]=-miu[i];        }    }    for(ll i=1; i < Maxn; i++) miu[i]=(miu[i-1]+miu[i]*i*i%p)%p, sum[i]=(sum[i-1]+i)%p;}ll cal(ll n, ll m){ if(n > m) swap(n, m);    ll ans=0;    for(ll l=1, r=0; r < n; l=r+1){        r=min(n/(n/l), m/(m/l));        ans=(ans+(miu[r]-miu[l-1])*sum[n/l]%p*sum[m/l]%p)%p;    }    return ans;}void solve(){    init(); n=read(), m=read(); if(n > m) swap(n, m); ll ans=0;    for(ll l=1, r=0; r < n; l=r+1){        r=min(n/(n/l), m/(m/l));        ans=(ans+1ll*(r+l)*(r-l+1)/2%p*cal(n/l, m/l)%p)%p;    }    printf("%lld\n", (ans+p)%p);}

转载于:https://www.cnblogs.com/zerolt/p/9301104.html

你可能感兴趣的文章
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
网卡驱动程序之框架(一)
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>
使用FMDB最新v2.3版本教程
查看>>
SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器
查看>>
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>