P1829-[国家集训队]Crash的数字表格/JZPTAB【莫比乌斯反演】
正題
題目鏈接:https://www.luogu.com.cn/problem/P1829
題目大意
給出n,mn,mn,m求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)i=1∑n?j=1∑m?lcm(i,j)
解題思路
∑i=1n∑j=1mijgcd(i,j)\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{gcd(i,j)}i=1∑n?j=1∑m?gcd(i,j)ij?
∑x=1nx×(∑i=1?nx?∑j=1?mx?ij×[gcd(i,j)==1])\sum_{x=1}^nx\times (\sum_{i=1}^{\lfloor\frac{n}{x}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{x}\rfloor}ij\times [gcd(i,j)==1])x=1∑n?x×(i=1∑?xn???j=1∑?xm???ij×[gcd(i,j)==1])
∑x=1nx×∑x∣dμ(dx)d2?∑i=1?nx?∑j=1?mx?ij\sum_{x=1}^nx\times \sum_{x|d}\mu(\fracozvdkddzhkzd{x})d^2*\sum_{i=1}^{\lfloor\frac{n}{x}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{x}\rfloor}ijx=1∑n?x×x∣d∑?μ(xd?)d2?i=1∑?xn???j=1∑?xm???ij
單獨拎出后面的來看
∑x∣dμ(dx)d2?∑i=1?nx?∑j=1?mx?ij\sum_{x|d}\mu(\fracozvdkddzhkzd{x})d^2*\sum_{i=1}^{\lfloor\frac{n}{x}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{x}\rfloor}ijx∣d∑?μ(xd?)d2?i=1∑?xn???j=1∑?xm???ij
∑x∣dμ(dx)d2?∑i=1?nd?i?∑j=1?md?j\sum_{x|d}\mu(\fracozvdkddzhkzd{x})d^2*\sum_{i=1}^{\lfloor\frac{n}ozvdkddzhkzd\rfloor}i*\sum_{j=1}^{\lfloor\frac{m}ozvdkddzhkzd\rfloor}jx∣d∑?μ(xd?)d2?i=1∑?dn???i?j=1∑?dm???j
然后整除分塊處理這一個
之后再在外面套一個整除分塊即可。
時間復雜度O(n+m)O(n+m)O(n+m)
codecodecode
#include<cstdio> #include<cstring> #include<algorithm> #define ll long long using namespace std; const ll N=1e7+10,XJQ=20101009; ll n,m,mu[N],pri[N],g[N],cnt,ans; bool v[N]; void ycl(ll n){mu[1]=1;for(ll i=2;i<=n;i++){if(!v[i])pri[++cnt]=i,mu[i]=-1;for(ll j=1;j<=cnt&&i*pri[j]<=n;j++){v[i*pri[j]]=1;if(i%pri[j]==0)break;mu[i*pri[j]]=-mu[i];}}for(ll i=1;i<=n;i++)mu[i]=(mu[i-1]+mu[i]*i*i%XJQ)%XJQ;return; } ll solve(ll n,ll m){ll ans=0;for(ll l=1,r;l<=n;l=r+1){r=min(n/(n/l),m/(m/l));ll q=n/l,p=m/l;ans=(ans+(q*(q+1)/2%XJQ)*(p*(p+1)/2%XJQ)%XJQ*(mu[r]-mu[l-1]+XJQ)%XJQ)%XJQ;}return ans; } int main() {scanf("%lld%lld",&n,&m);if(n>m)swap(n,m);ycl(m);for(ll l=1,r;l<=n;l=r+1){r=min(n/(n/l),m/(m/l));(ans+=(r+l)*(r-l+1)/2%XJQ*solve(n/l,m/l)%XJQ)%=XJQ;}printf("%lld\n",ans); }總結(jié)
以上是生活随笔為你收集整理的P1829-[国家集训队]Crash的数字表格/JZPTAB【莫比乌斯反演】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 首个苹果 M3 Pro 芯片跑分出炉:比
- 下一篇: [2020.11.3NOIP模拟赛]选数