您的位置:首页 > 其它

NOI2010 能量采集

2016-06-06 19:44 211 查看
仅仅求GCD居然就有 80分

然后枚举gcd 容斥下就可以做了

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;

long long f[100000+10];

int main()
{
long long ans=0;
int n,m;
cin>>n>>m;
for(int i=min(n,m);i>=1;i--)
{
f[i]=(long long )(n/i)*(m/i);
for(int j=i*2;j<=min(n,m);j+=i)
f[i]-=f[j];
ans+=f[i]*(i*2-1);
}
//ans+=2*(gcd(i,j)-1)+1;
cout<<ans<<endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: