2017.10.9 DZY Loves Math VI 失败总结
来源:互联网 发布:淘宝店铺上新模板 编辑:程序博客网 时间:2024/05/29 16:15
一看到love math就知道肯定不会做。。
首先lcm拆成i*j/gcd(i,j),然后就讨论分子和分母。。但并没有什么卵用
这个题对比传统反演题,主要不同的是f函数不是很直观。。
所以如果枚举gcd,那剩下的两个数一定互质,然后就按照gcd==1的反演直接套在后面,不同的是原来的[m/d] 和 [n/d] 换成新的函数 Σi^dΣj^d
所以式子是:
运用调和级数nlogn
码;
#include<iostream>#include<cstdio>using namespace std;#define ll long long#define P 1000000007ll mu[500005],su[500005],he[500005],ci[500005],tot,i,j,n,m,ans,T;bool hs[500005];void eular(ll n){int i,j;mu[1]=1;for(i=2;i<=n;i++){if(!hs[i]){su[++tot]=i;mu[i]=-1;}for(j=1;j<=tot&&i*su[j]<=n;j++){hs[su[j]*i]=1;if((i%su[j])==0){mu[i*su[j]]=0;break;}else mu[i*su[j]]=-mu[i];}}}ll ksm(ll a,ll b){ll ans=1;while(b){if(b%2)ans=(ans*a)%P;b/=2;a=(a*a)%P;}return ans;}int main(){scanf("%lld%lld",&n,&m);if(n>m)swap(n,m);eular(n);for(i=1;i<=m;i++)ci[i]=1;for(i=1;i<=n;i++){ll lin=ksm(i,i),lin2=0;for(j=1;j*i<=m;j++) { ci[j]=(ci[j]*j)%P; he[j]=(he[j-1]+ci[j])%P; }for(j=1;j*i<=n;j++){if(!mu[j])continue;lin2=(mu[j]*he[m/i/j]%P*he[n/i/j]%P*ci[j]%P*ci[j]%P+lin2+P)%P;}ans=(ans+lin*lin2%P)%P;}printf("%lld",(ans+P)%P);}
阅读全文
0 0
- 2017.10.9 DZY Loves Math VI 失败总结
- 2017.10.9 DZY Loves Math V 失败总结
- 2017.9.5 DZY Loves Math 失败总结
- BZOJ3561: DZY Loves Math VI
- 【bzoj3561】DZY Loves Math VI
- [bzoj3561] DZY Loves Math VI
- BZOJ3561: DZY Loves Math VI
- bzoj3561 DZY Loves Math VI
- bzoj3561 DZY Loves Math VI 莫比乌斯函数
- 【BZOJ3309】DZY Loves Math
- BZOJ3309: DZY Loves Math
- bzoj3309: DZY Loves Math
- DZY Loves Math IV
- BZOJ3309: DZY Loves Math
- 【bzoj3309】DZY Loves Math
- bzoj3309 DZY Loves Math
- [bzoj3309] DZY Loves Math
- bzoj3309: DZY Loves Math
- 【BZOJ1880】【SDOI2009】Elaxia的路线
- [BZOJ1880][Sdoi2009] Elaxia的路线 (最短路,拓扑排序)
- qbxt Day 1 乱搞+乱搞+DP
- 判断网络状态
- JavaScript温故知新----Array.sort()
- 2017.10.9 DZY Loves Math VI 失败总结
- 【BZOJ3714】【PA2014】Kuglarz
- css各种动画
- HTML donhhua
- String类的私有属性value 怎么初始化的
- Codeforces Round #439 (Div. 2) E. The Untended Antiquity 二维树状数组 随机化
- 图解MotionEvent中getRawX、getRawY与getX、getY以及View中的getScrollX、getScrollY
- html5_动画练习
- css动画