NOI2010 能量采集
2011-08-01 14:21
211 查看
#include <cstdio>
#include <iostream>
using namespace std;
const int MAXN = 100000 + 123;
long long cnt[MAXN];
int main()
{
long long n, m;
cin >> n >> m;
int t = n > m ? m : n;
for(int i = 1; i <= t; i++) cnt[i] = (n / i) * (m / i);
long long ans = 0;
for(int i = t; i >= 1; i--)
{
for(int j = 2; j * i <= t; j++)
cnt[i] -= cnt[j * i];
ans += cnt[i] * i;
}
//printf("%I64d\n", 2 * ans - (long long)n * m);
ans = 2 * ans - n * m;
cout << ans << endl;
return 0;
}
#include <iostream>
using namespace std;
const int MAXN = 100000 + 123;
long long cnt[MAXN];
int main()
{
long long n, m;
cin >> n >> m;
int t = n > m ? m : n;
for(int i = 1; i <= t; i++) cnt[i] = (n / i) * (m / i);
long long ans = 0;
for(int i = t; i >= 1; i--)
{
for(int j = 2; j * i <= t; j++)
cnt[i] -= cnt[j * i];
ans += cnt[i] * i;
}
//printf("%I64d\n", 2 * ans - (long long)n * m);
ans = 2 * ans - n * m;
cout << ans << endl;
return 0;
}
相关文章推荐
- [NOI 2010]能量采集
- Noi 2010 day1 第一题 能量采集
- 2005: [Noi2010]能量采集
- bzoj2005[Noi2010]能量采集
- [bzoj2005][莫比乌斯反演][Noi2010]能量采集
- BZOJ 2005 [Noi2010]能量采集 (容斥)
- 【bzoj2005】[Noi2010]能量采集
- 【数论】【莫比乌斯反演】【线性筛】bzoj2005 [Noi2010]能量采集
- BZOJ 2005: [Noi2010]能量采集
- [bzoj2005][Noi2010][能量采集] (容斥 or 欧拉函数)
- [BZOJ2005][Noi2010]能量采集 容斥+数论
- [NOI2010]能量采集
- bzoj 2005: [Noi2010]能量采集
- 2005: [Noi2010]能量采集
- 能量采集 [Bzoj 2005,Noi2010]
- [NOI2010]能量采集(数论+递推)
- bzoj2005: [Noi2010]能量采集
- BZOJ2005 [Noi2010]能量采集
- BZOJ 2005 [Noi2010]能量采集
- [bzoj 2005][NOI 2010]能量采集(容斥原理+递推)