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;
}
然后枚举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;
}
相关文章推荐
- Android HttpURLConnection的简单使用
- CG之菲涅尔效果简单实现
- 《PCL点云库学习&VS2010(X64)》Part 8 PCL1.72(VTK6.2.0)可视化例程
- C++第8次上机作业
- 自定义Android圆点指示器
- EditPlus中配置具有<<<<DOS命令界面>>>的java环境
- ffmpeg command use one command : logo, text, mask, audio process
- 三路握手和四次挥手
- Reverse String
- Git 的origin和master分析
- P2661 信息传递 强连通分量
- Caffe 实例笔记 1 CaffeNet从训练到分类及可视化参数特征 微调
- 使用JavaScript实现一个倒数计时程序
- java对象的序列化和反序列化
- Lambda表达式快速入门
- 如何扩大LVM 逻辑分区的大小?
- 阅读程序(3)
- iOS 直播-获取音频(视频)数据
- 李航《统计学习方法》第一章 机器学习三要素
- C#总秒数与datetime相互转换