本文主要是介绍NOI2010 能量采集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
仅仅求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;
}
这篇关于NOI2010 能量采集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!