传送门1
传送门2

其实phi可以前缀和处理,(n/d)*(m/d)只有(n^0.5+m^0.5)个取值,然而我这里是O(n)的偏暴力流……
代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
using namespace std;
int phi[100010],prime[100010];
bool pd[100010];
long long n,m;
long long ans;
main()
{scanf("%d%d",&n,&m);if (n>m) swap(n,m);for (int i=1;i<=n;i++){if (!pd[i]) phi[i]=i-1,prime[++prime[0]]=i;for (int j=1;j<=prime[0];j++){if (prime[j]*i>n) break;pd[i*prime[j]]=1;if (i%prime[j]==0)phi[i*prime[j]]=phi[i]*prime[j];else phi[i*prime[j]]=phi[i]*phi[prime[j]];}}//欧拉筛求φans=n*m;for (int i=1;i<=n;i++)ans+=2*(n/i)*(m/i)*phi[i];printf("%lld",ans);
}

【BZOJ2005】【codevs1937】能量采集,数论练习之二维公约数求和相关推荐

  1. js-练习题-循环打印二维数组-二维数组求和-个人所得税

    循环打印二维数组 <script>var arr=new Array();for(i=0;i<5;i++){arr[i]=new Array();for(j=0;j<8;j++ ...

  2. python二维数组求和_Python如何对二维数组求和

    Python对二维数组求和的方法:首先定义好一个二维数组:然后使用map函数对数组里每一个元素进行sum操作即可对二维数组求和. 关于二维数组求和的几种方法: a = [[1,2],[3,4],[5, ...

  3. php求二维数组,php 二维数组求和

    php 二维数组求和 关注:117  答案:1  mip版 解决时间 2021-01-31 01:57 提问者情癌晚期 2021-01-30 01:47 Array ( [194] => Arr ...

  4. bzoj2005: [Noi2010]能量采集

    不知道什么算法. 首先求一颗植物(i,j)与能量采集器的连线上有几颗植物. 答案是(gcd(i,j)-1),设i'= i/gcd(i,j),j'=j/gcd(i,j). 则这几颗植物是(i'k,j'k ...

  5. BZOJ 2005: [Noi2010]能量采集( 数论 + 容斥原理 )

    一个点(x, y)的能量损失为 (gcd(x, y) - 1) * 2 + 1 = gcd(x, y) *  2 - 1. 设g(i)为 gcd(x, y) = i ( 1 <= x <= ...

  6. 二维数组求和 团队开发

    题目:返回一个二维整数数组中最大联通子数组的和. 要求: 输入一个二维整形数组,数组里有正数也有负数. 求所有子数组的和的最大值.要求时间复杂度为O(n). 开发方式:团队开发 主要思路:二维连通数组 ...

  7. [2019.1.14]BZOJ2005 [Noi2010]能量采集

    以下设\(n\ge m\). 首先,一个点\((x,y)\)到\((0,0)\)的路径上经过的点的数量(不包括首尾)为\(gcd(x,y)-1\). 所以它的能量损耗为\(2\times gcd(x, ...

  8. BZOJ2005: [Noi2010]能量采集 莫比乌斯反演的另一种方法——nlogn筛

    分析:http://www.cnblogs.com/huhuuu/archive/2011/11/25/2263803.html 注:从这个题收获了两点 1,第一象限(x,y)到(0,0)的线段上整点 ...

  9. BZOJ2005 NOI2010 能量采集 欧拉函数

    题意:求$\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^M {f(i,j)} } $,其中f(i,j)=(0,0)与(i,j)连线上点的数量 题解: 如果一个点 ...

最新文章

  1. 自定义Spark Partitioner提升es-hadoop Bulk效率——续
  2. ruquireJS入门
  3. LCD MIPI DSI时钟计算
  4. vue - blog开发学习4
  5. mediumtext 长度_InnoDB表行长度超限问题的处理和思考
  6. go 基准测试 找不到函数_基于Golang做测试
  7. 关于Video Renderer和Overlay Mixer
  8. html静态页面引用其他页面,Shtml完美解决静态页面内部调用其他页面(非Iframe、Object、Js方法)...
  9. 职工工作量c语言调试分析,c语言职工工作量统计
  10. static在内存层面的作用_static关键字总结
  11. 11. SpringMVC拦截器(资源和权限管理)
  12. 用英伟达 DIGITS 进行图像分割
  13. Server responded “Algorithm negotiation failed“错误解决方法
  14. Docker 极简入门指南
  15. mysql80004005错误_常见的80004005错误及其解决方法
  16. quot;紫陀螺quot;网友感触转载系列之…
  17. 图像处理——分水岭算法
  18. (完美解决)应用程序无法正常启动(0xc000007b),请单击确定关闭应用程序的解决方案
  19. Omi官方插件系列 - omi-transform介绍
  20. 走进区块链企业 | 区块链应用商店 BeeStore

热门文章

  1. 在Spring Cloud中集成和使用CSE快速实现商业产品
  2. linux 物理内存用完了_12张图解Linux内存管理,程序员内功修炼,看过都说懂了!...
  3. SpringIOC容器和Bean的配置
  4. 红橙Darren视频笔记 从AIDL Demo分析Android源码走向
  5. PyCharm将制表符转换为空格并显示的配置方法
  6. poj 2253 最短路变形——最大边的最小值
  7. leetcode59题:滑动窗口的最大值(用双端队列实现)
  8. Latex中文字超过文本宽度时解决方法
  9. java面向对象的理解_java胜于C语言,却又静态面向对象,简单?
  10. android添加快捷按钮,Android中创建快捷方式代码实例