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

但是他发现他并不太会计算这个式子,你可以告诉他这个结果吗,答案可能会比较大,请模上1000000007。
输入描述:
一行两个正整数n,m一行两个正整数n,m一行两个正整数n,m
输出描述:
一行一个整数表示输出结果一行一个整数表示输出结果一行一个整数表示输出结果
备注1≤n,m≤1e61 \leq n,m \leq 1e61≤n题意:给定两个数,n,m;求(1~n)(1~m)的 gcd(i,j)平方和
思路:简单暴力肯定超时,
看两个数的最大公约数,我们反过来求,从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); 例子
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;
gcd(i,j)=3;
f[3]=5;
gcd(i,j)=2;
f[2]=9;
f[1]=44;
#include <bits/stdc++.h> using namespace std;
typedef long long ll;
const int N = 1e6+;
#define mod 1000000007
ll n,m;
ll num;
ll f[N];
int main()
{
scanf("%lld%lld",&n,&m);
for(int i = min(n,m); i >=;i--)
{
f[i] = (n / i) * (m / i);
for(int j = * i; j <= min(n , m); j += i)
{
f[i] -= f[j];
}
//cout << f[i]<<' '<<i<<endl;
num = (num + f[i] * i % mod * i % mod )%mod;
}
cout << num <<endl;
return ;
}
小A的数学题的更多相关文章
- 牛客小白月赛13-J小A的数学题 (莫比乌斯反演)
链接:https://ac.nowcoder.com/acm/contest/549/J来源:牛客网 题目描述 小A最近开始研究数论题了,这一次他随手写出来一个式子,∑ni=1∑mj=1gcd(i,j ...
- JZOJ 5773. 【NOIP2008模拟】简单数学题
5773. [NOIP2008模拟]简单数学题 (File IO): input:math.in output:math.out Time Limits: 1000 ms Memory Limits ...
- [JZOJ5773]【NOIP2008模拟】简单数学题
Description 话说, 小X是个数学大佬,他喜欢做数学题.有一天,小X想考一考小Y.他问了小Y一道数学题.题目如下: 对于一个正整数N,存在一个正整数T(0<T&l ...
- 结对编程——带UI的小初高数学学习软件
一.简介 本次项目要求: 1.所有功能通过图形化界面操作,可以是桌面应用,可以是网站(编程语言和技术不限): 2.用户注册功能.用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册: ...
- 纪中2018暑假培训day3提高a组改题记录(混有部分b组)
day3 模拟赛,看了看a组题,发现是博弈论,非常开心(因为好玩),于是做的a组.结果差点爆零,死命纠结t1的sg函数,但其实只是一个dp,不用扯到sg函数的那种. t1: Description 被 ...
- CSP-J/S 2021 游记
\(\large\texttt{Day -1}\) 晚上好累啊,去集训了,回来之后发现十一点了还码了一会儿,只能祈求上帝明天不会打瞌睡. \(\large\texttt{Day 0}\) 意料中的事情 ...
- Miller Rabin 详解 && 小清新数学题题解
在做这道题之前,我们首先来尝试签到题. 签到题 我们定义一个函数:\(qiandao(x)\) 为小于等于 x 的数中与 x 不互质的数的个数.要求 \(\sum\limits _{i=l}^r qi ...
- HihoCoder1655 : 第K小最简真分数([Offer收割]编程练习赛39)(唯一分解+容斥定理+二分)(不错的数学题)
描述 给一个整数N,请你求出以N为分母的最简(既约)真分数中第K小的是多少? 输入 两个整数N个K. 对于30%的数据,1 <= N <= 1000000 对于100%的数据,1 < ...
- codeforces 888A/B/C/D/E - [数学题の小合集]
这次CF不是很难,我这种弱鸡都能在半个小时内连A四道……不过E题没想到还有这种折半+状压枚举+二分的骚操作,后面就挂G了…… A.Local Extrema 题目链接:https://cn.vjudg ...
随机推荐
- fatal error: nvcuvid.h: No such file
https://www.cnblogs.com/rabbull/p/11154997.html
- Jetson TX2 不同的工作模式
Jetson TX2 有五种工作模式,下面介绍这几种工作模式下电压.频率以及如何启动. 原理图 几种不同的工作模式 mode mode name Denver Frequency ARM Freque ...
- WIN10家庭版添加"本地安全策略"
新建文本文件 输入一下命令 @echo off pushd "%~dp0" dir /b C:\Windows\servicing\Packages\Microsoft-Windo ...
- webdriver(处理select下拉框元素)
"""处理下拉框""" from selenium import webdriver from selenium.webdriver.com ...
- Java学习笔记-对象与垃圾回收
Java存在垃圾回收机制,JVM会去回收垃圾,释放资源,而不是像C++一样有程序员去完成 垃圾回收机制的特点 垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源(例如数据库连接.网络IO等资源 ...
- 最新 央视网java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.央视网等10家互联网公司的校招Offer,因为某些自身原因最终选择了央视网.6.7月主要是做系统复习.项目复盘.LeetCo ...
- 洛谷 题解 P2676 【超级书架】
题解 P2676 [超级书架] 这题就只是一个从大到小的排序而已,用"sort"函数 再用"while"判断奶牛塔的高度是否比书架高度要高 送上代码: #inc ...
- js中的var a = new A;与var a = new A()的区别
JavaScript 中的new关键字与C#,JAVA中的概念完全不一样. 例:var a=new A(); 让我们来看看在JavaScript中的new发生了什么? var a={};//建立 ...
- [转帖].NET导出Excel的四种方法及评测
.NET导出Excel的四种方法及评测 https://www.cnblogs.com/sdflysha/p/20190824-dotnet-excel-compare.html 导出Excel是.N ...
- 使用dockerfile 搭建django系统(nginx+redis+mongodb+celery)
背景 有需求需要对django系统进行docker化,以达到灵活部署和容灾.该系统基于django 2.2版本开发,数据库采用mongodb,服务器使用nginx,因系统有部分异步任务,异步任务则采用 ...