小A最近开始研究数论题了,这一次他随手写出来一个式子,

但是他发现他并不太会计算这个式子,你可以告诉他这个结果吗,答案可能会比较大,请模上1000000007。

输入描述:

  1. 一行两个正整数nm一行两个正整数nm一行两个正整数nm

输出描述:

  1. 一行一个整数表示输出结果一行一个整数表示输出结果一行一个整数表示输出结果
示例1

输入

复制

  1. 2 2

输出

复制

  1. 7

备注1≤n,m≤1e61 \leq n,m \leq 1e61≤n题意:给定两个数,n,m;求(1~n)(1~m)的 gcd(i,j)平方和


  1. 思路:简单暴力肯定超时,
    看两个数的最大公约数,我们反过来求,从min(n,m)最大的可能公约数开始逐级递减
    min(n,m)~1
    p = min(n,m),
    那么在n里面p的倍数有n/p个,即有n/p个数存在p这个约数
    对于m而言也一样;
    之后再从 p*2开始将所有p的倍数再减掉,剩下的就是约数最大为p的个数,即对于n,m而言就是gcd(n,m)==p的所有组合为(n/p)*(m/p);
  2. 例子
    n = 9, m= 7;
    p = 7;
    gcd(i,j) == 7;
    f[7] = 1;
    gcd(i,j)=6;
    f[6]=1;
    gcd(i,j) = 5;
    f[5]=5;
    gcd(i,j)=4;
    f[4]=2
  1. gcd(i,j)=3;
    f[3]=5;
  1. gcd(i,j)=2;
    f[2]=9;
    f[1]=44;
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. typedef long long ll;
  5. const int N = 1e6+;
  6. #define mod 1000000007
  7. ll n,m;
  8. ll num;
  9. ll f[N];
  10. int main()
  11. {
  12. scanf("%lld%lld",&n,&m);
  13. for(int i = min(n,m); i >=;i--)
  14. {
  15. f[i] = (n / i) * (m / i);
  16. for(int j = * i; j <= min(n , m); j += i)
  17. {
  18. f[i] -= f[j];
  19. }
  20. //cout << f[i]<<' '<<i<<endl;
  21. num = (num + f[i] * i % mod * i % mod )%mod;
  22. }
  23. cout << num <<endl;
  24. return ;
  25. }
  1.  
  1.  
  1.  

小A的数学题的更多相关文章

  1. 牛客小白月赛13-J小A的数学题 (莫比乌斯反演)

    链接:https://ac.nowcoder.com/acm/contest/549/J来源:牛客网 题目描述 小A最近开始研究数论题了,这一次他随手写出来一个式子,∑ni=1∑mj=1gcd(i,j ...

  2. JZOJ 5773. 【NOIP2008模拟】简单数学题

    5773. [NOIP2008模拟]简单数学题 (File IO): input:math.in output:math.out Time Limits: 1000 ms  Memory Limits ...

  3. [JZOJ5773]【NOIP2008模拟】简单数学题

    Description       话说, 小X是个数学大佬,他喜欢做数学题.有一天,小X想考一考小Y.他问了小Y一道数学题.题目如下:      对于一个正整数N,存在一个正整数T(0<T&l ...

  4. 结对编程——带UI的小初高数学学习软件

    一.简介 本次项目要求: 1.所有功能通过图形化界面操作,可以是桌面应用,可以是网站(编程语言和技术不限): 2.用户注册功能.用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册: ...

  5. 纪中2018暑假培训day3提高a组改题记录(混有部分b组)

    day3 模拟赛,看了看a组题,发现是博弈论,非常开心(因为好玩),于是做的a组.结果差点爆零,死命纠结t1的sg函数,但其实只是一个dp,不用扯到sg函数的那种. t1: Description 被 ...

  6. CSP-J/S 2021 游记

    \(\large\texttt{Day -1}\) 晚上好累啊,去集训了,回来之后发现十一点了还码了一会儿,只能祈求上帝明天不会打瞌睡. \(\large\texttt{Day 0}\) 意料中的事情 ...

  7. Miller Rabin 详解 && 小清新数学题题解

    在做这道题之前,我们首先来尝试签到题. 签到题 我们定义一个函数:\(qiandao(x)\) 为小于等于 x 的数中与 x 不互质的数的个数.要求 \(\sum\limits _{i=l}^r qi ...

  8. HihoCoder1655 : 第K小最简真分数([Offer收割]编程练习赛39)(唯一分解+容斥定理+二分)(不错的数学题)

    描述 给一个整数N,请你求出以N为分母的最简(既约)真分数中第K小的是多少? 输入 两个整数N个K. 对于30%的数据,1 <= N <= 1000000 对于100%的数据,1 < ...

  9. codeforces 888A/B/C/D/E - [数学题の小合集]

    这次CF不是很难,我这种弱鸡都能在半个小时内连A四道……不过E题没想到还有这种折半+状压枚举+二分的骚操作,后面就挂G了…… A.Local Extrema 题目链接:https://cn.vjudg ...

随机推荐

  1. Flutter 拖拽控件Draggable

    Flutter提供了强大的拖拽控件,可以灵活定制,并且非常简单.下面作一个拖拽的案例. Draggable Widget Draggable控件负责就是拖拽,父层使用了Draggable,它的子元素就 ...

  2. EPP状态码

    服务器状态代码由您的域的注册表设置 EPP状态码 RDAP状态映射 这是什么意思? 你应该做点什么吗? addPeriod 加期 该宽限期是在域名初始注册后提供的.如果注册服务商在此期间删除了域名,则 ...

  3. 《精通并发与Netty》学习笔记(07 - 基于Thrift实现Java与Python的RPC调用)

    上节我们介绍了基于Thrift实现java与java的RPC调用,本节我们基于Thrift实现Java与Python的RPC调用 首先,修改data.thirft文件,将命名空间由java改为py n ...

  4. MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)

    本节内容: 1)索引基础 2)索引类型(Hash索引.有序数组.B+树) 3)索引的几个常见问题 1)联合索引 2)最左前缀原则 3)覆盖索引 4)索引下推 1. 索引基础 索引对查询的速度有着至关重 ...

  5. ######【Python】【基础知识】【一些未知的知识点】######

    在查资料.看书过程中遇到的一些未知的领域.知识点: 1.模仿静态变量 可参考: https://www.runoob.com/python/python-exercise-example41.html ...

  6. 【3.4】innodb存储引擎

    [1]Innodb 与 Myisam 的区别 1.InnoDB支持事物,而MyISAM不支持事物 2.InnoDB支持行级锁,而MyISAM支持表级锁 3.InnoDB支持MVCC, 而MyISAM不 ...

  7. 分享 Shiro 学习过程中遇到的一些问题

    最近在学习 shiro 安全框架后,自己手写了一个小的管理系统 web 项目,并使用 shiro 作为安全管理框架.接下来分享一下在这过程中,遇到的一些问题以及自己的解决思路和方法. 一.Log ou ...

  8. thinkphp5.1路由设置小计

    route下定义路由路径,如果是这种情况 'product'=>'home/product/index',//产品信息首页 'product/list'=>'home/product/li ...

  9. Linux Centos7 离线安装docker 【官网翻译和注释】

    Centos7的Docker安装 需要一个维护版本的centos7,所以6不行. 卸载旧版本 旧版本的docker被称为 docker or docker-engine 如果存在请删除它们. sudo ...

  10. LINQ 多条件join on

    var  tmp = from a in DT1.AsEnumerable() join b in DT2.AsEnumerable() on new { bm = a.Field<string ...