2005: [Noi2010]能量采集

Time Limit: 10 Sec  Memory Limit: 552 MB
Submit: 4394  Solved: 2624
[Submit][Status][Discuss]

Description

栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量。在这些植物采集能量后,
栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起。 栋栋的植物种得非常整齐,一共有n列,每列
有m棵,植物的横竖间距都一样,因此对于每一棵植物,栋栋可以用一个坐标(x, y)来表示,其中x的范围是1至n,
表示是在第x列,y的范围是1至m,表示是在第x列的第y棵。 由于能量汇集机器较大,不便移动,栋栋将它放在了
一个角上,坐标正好是(0, 0)。 能量汇集机器在汇集的过程中有一定的能量损失。如果一棵植物与能量汇集机器
连接而成的线段上有k棵植物,则能量的损失为2k + 1。例如,当能量汇集机器收集坐标为(2, 4)的植物时,由于
连接线段上存在一棵植物(1, 2),会产生3的能量损失。注意,如果一棵植物与能量汇集机器连接的线段上没有植
物,则能量损失为1。现在要计算总的能量损失。 下面给出了一个能量采集的例子,其中n = 5,m = 4,一共有20
棵植物,在每棵植物上标明了能量汇集机器收集它的能量时产生的能量损失。 在这个例子中,总共产生了36的能
量损失。

Input

仅包含一行,为两个整数n和m。

Output

仅包含一个整数,表示总共产生的能量损失。

Sample Input

【样例输入1】
5 4
【样例输入2】
3 4

Sample Output

【样例输出1】
36
【样例输出2】
20
对于100%的数据:1 ≤ n, m ≤ 100,000。

HINT

 

Source

设f[i]表示gcd为i的对数,显然为(n/i)*(m/i)

去重只要减去f[i*k]即可。

 #include<iostream>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<cstdio>
#include<algorithm>
#define maxn 100010
#define LL long long
using namespace std;
LL f[maxn];
int main() {
int n,m;
scanf("%d%d",&n,&m);
LL ans=;
for(int i=min(n,m);i;i--) {
f[i]=(LL)(n/i)*(m/i);
for(int k=;i*k<=min(n,m);k++) f[i]-=f[i*k];
ans+=f[i]*(i-<<|);
}
printf("%lld\n",ans);
return ;
}

最新文章

  1. Hyperledger fabric Client Node.js Hello World示例程序
  2. Quartz在Spring中动态设置cronExpression (spring设置动态定时任务)
  3. php匿名函数小示例
  4. [转]FFMPEG视音频编解码零基础学习方法
  5. 【Java基础】Java接口的总结
  6. OpenCV(7)-图像直方图
  7. C#控件TabControl隐藏page
  8. Logcat过滤及常见用法整理
  9. MongoDB基础教程系列--第二篇 MongoDB基本操作(一)
  10. Collection的迭代器Iterator
  11. Warning: connect.static is not a function
  12. JAVA中发送电子邮件的方法
  13. Django--ORM基本操作
  14. NodeJS基础教程
  15. scrapy-redis的使用与解析
  16. Oracle Certified Java Programmer 经典题目分析(一)
  17. 数据库实例: STOREBOOK &gt; 表空间 &gt; 编辑 表空间: USERS
  18. 2016&quot;百度之星&quot; - 初赛(Astar Round2B)1003 瞬间移动 组合数学+逆元
  19. mysql 判断表字段或索引是否存在 - 举一反三
  20. C# 解压gzip文件(.tgz)

热门文章

  1. linux启动和关闭防火墙命令
  2. REST接口设计规范
  3. Chromium多进程资源加载
  4. [剑指Offer] 11.二进制中1的个数
  5. gdb调试命令的使用及总结
  6. hdu 6200 mustedge mustedge(并查集+树状数组 或者 LCT 缩点)
  7. 遇到问题---java---myeclipse发布项目打包项目resource资源有缓存---log4j.properties新配置不起作用
  8. NEYC 2017 游记
  9. tyvj1305 最大子序和(单调队列
  10. java摘要