[莫比乌斯反演] BZOJ 2154 Crash的数字表格
来源:互联网 发布:许朝军 知乎 编辑:程序博客网 时间:2024/05/21 18:37
#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>#define P 20101009using namespace std;typedef long long ll;inline char nc(){static char buf[100000],*p1=buf,*p2=buf;if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) return EOF; }return *p1++;}inline void read(ll &x){char c=nc(),b=1;for (;!(c>='0' && c<='9');c=nc()) if (c=='-') b=-1;for (x=0;c>='0' && c<='9';x=x*10+c-'0',c=nc()); x*=b;}inline int write(ll x,char c){if (x==0) return putchar('0'),putchar(c),0;if (x<0) putchar('-'),x=-x;char s[50]={0},len=0;while (x) s[++len]=x%10+'0',x/=10;for (int i=len;i;i--) putchar(s[i]); putchar(c);}const int maxn=10000000;int mobius[maxn+5];int vst[maxn+5],prime[maxn+5],num=0;ll f[maxn+5];inline void Pre(){mobius[1]=1;for (int i=2;i<=maxn;i++){if (!vst[i])mobius[i]=-1,prime[++num]=i;for (int j=1;j<=num && prime[j]*i<=maxn;j++){vst[i*prime[j]]=1;if (i%prime[j]==0){mobius[i*prime[j]]=0; break;}elsemobius[i*prime[j]]=-mobius[i];}}for (ll i=1;i<=maxn;i++)f[i]=i*i*mobius[i];for (ll i=1;i<=maxn;i++)(f[i]+=f[i-1])%=P;}ll n,m;ll ans;inline ll sum(ll x,ll y){return ((x*(x+1)/2)%P)*((y*(y+1)/2)%P)%P;}inline ll F(ll x,ll y){if (x>y) swap(x,y);ll ret=0,i,j;for (j,i=1;i<=x;i=j+1){j=min(x/(x/i),y/(y/i));(ret+=(f[j]-f[i-1])*sum(x/i,y/i)%P)%=P;}return ret;}int main(){read(n); read(m);Pre();if (n>m) swap(n,m);for (ll j,i=1;i<=n;i=j+1){j=min(n/(n/i),m/(m/i));(ans+=(j+i)*(j-i+1)/2%P*F(n/i,m/i)%P)%=P;}write((ans+P)%P,'\n');return 0;}
0 0
- BZOJ 2154 Crash的数字表格 莫比乌斯反演
- HYSBZ/BZOJ 2154 Crash的数字表格 - 莫比乌斯反演
- BZOJ-2154 && 2693 Crash的数字表格&&jzptab 莫比乌斯反演
- 【bzoj 2154】Crash的数字表格(莫比乌斯反演)
- BZOJ 2154(Crash的数字表格-莫比乌斯反演)
- BZOJ 2154 Crash的数字表格(sigma(lcm(i,j)),莫比乌斯反演)
- [莫比乌斯反演] BZOJ 2154 Crash的数字表格
- BZOJ 2154 Crash的数字表格(莫比乌斯反演)
- bzoj 2154: Crash的数字表格 莫比乌斯反演
- 【BZOJ 2154】Crash的数字表格 莫比乌斯反演
- [BZOJ 2154]Crash的数字表格:莫比乌斯反演
- 【BZOJ】【P2154】【Crash的数字表格】【题解】【莫比乌斯反演】
- [BZOJ2154]Crash的数字表格 && 莫比乌斯反演
- 【莫比乌斯反演】[BZOJ2154]Crash的数字表格
- 【bzoj2154】【Crash的数字表格】【莫比乌斯反演】
- bzoj2154 Crash的数字表格(莫比乌斯反演)
- 【莫比乌斯反演】关于Mobius反演与lcm的一些关系与问题简化(BZOJ 2154 crash的数字表格&&BZOJ 2693 jzptab)
- 2693: jzptab/2154: Crash的数字表格 莫比乌斯反演
- IOS开发学习记录之Block的使用。
- Spring之Spring AOP
- 【算法学习】归并排序——基于分治思想
- 让VLC播放器支持SDS 3D视频转换成interlaced 3D视频(红蓝3D)
- mac 安装 5.7 mysql 记录
- [莫比乌斯反演] BZOJ 2154 Crash的数字表格
- 利用数组算阶乘
- 第1章 Java程序设计概述
- java的ArrayList的值
- hdu 2222 Keywords Search 经典AC自动机入门题
- 关于 Android Studio 的一些基本配置
- perl版阿里云签名公共参数方法
- Programming udp sockets in C on Linux
- gcc中的旁枝末节