Description

Given \(n\), calculate the sum \(LCM(1,n) + LCM(2,n) + \cdots + LCM(n,n)\), where \(LCM(i,n)\) denotes the Least Common Multiple of the integers \(i\) and \(n\).

Input

The first line contains \(T\) the number of test cases. Each of the next \(T\) lines contain an integer \(n\).

Output

Output \(T\) lines, one for each test case, containing the required sum.

Sample Input

3

1

2

5

Sample Output

1

4

55

HINT

\(1 \le T \le 300000\)

\(1 \le n \le 1000000\)

题目求$$\sum_{i=1}^{n}LCM(i,n)$$

根据\(LCM\)的公式,即$$\sum_{i=1}^{n}\frac{i \times n}{GCD(i,n)}$$

我们枚举\(GCD\)——\(g\),即$$\sum_{g=1}^{n}[g \mid n]n \sum_{i=1}^{n}i[GCD(i,n)=g]$$

化简一下,转而求$$\sum_{g=1}^{n}[g \mid n]n \sum_{i=1}^{n}i[GCD(\frac{i}{g},\frac{n}{g})=1]$$

变化一下\(i\)的范围:$$\sum_{g=1}^{n}[g \mid n]n \sum_{i=1}^{\frac{n}{g}}i[GCD(i,\frac{n}{g})=1]$$

\(\sum_{i=1}^{\frac{n}{g}}i[GCD(i,\frac{n}{g})=1]\)即\(\frac{n}{g}\)内与之互质的数的和,这个有个公式:$$\sum_{i=1}^{n}i[GCD(n,i)=1]= \frac{\phi(n) \times n}{2}$$

如何证明,假设某个数\(a\)与\(n\)互质,那么\(n-a\)一定也与\(n\)互质,这样的数一共有\(\phi(n)\)个,于是得证,但在\(n=1\)是要特判,于是这个式子就出来了。$$\sum_{i=1}{n}LCM(i,n)=\sum_{g=1}{n}[g \mid n]n \frac{\phi(\frac{n}{g}) \times \frac{n}{g} }{2}$$

#include<cstdio>
#include<cstdlib>
using namespace std; typedef long long ll;
#define maxn (1000010)
bool exist[maxn]; int n,phi[maxn],prime[maxn],tot; inline void ready()
{
phi[1] = 1;
for (int i = 2;i < maxn;++i)
{
if (!exist[i]) phi[i] = i-1,prime[++tot] = i;
for (int j = 1;j <= tot;++j)
{
if (i*prime[j] >= maxn) break;
exist[i*prime[j]] = true;
if (i % prime[j] == 0) { phi[i*prime[j]] = phi[i]*prime[j]; break; }
else phi[i*prime[j]] = phi[i]*phi[prime[j]];
}
}
}
inline ll calc(int g)
{
if (g == 1) return 1;
return ((ll)phi[g]*(ll)g>>1);
} int main()
{
freopen("2226.in","r",stdin);
freopen("2226.out","w",stdout);
ready();
int T; scanf("%d",&T);
while (T--)
{
scanf("%d",&n);
ll ans = 0;
for (int g = 1;g * g <= n;++g)
if (n % g == 0)
{
ans += (ll)n*calc(n / g);
if (g * g != n) ans += (ll)n*calc(g);
}
printf("%lld\n",ans);
}
fclose(stdin); fclose(stdout);
return 0;
}

BZOJ 2226 LCMSum的更多相关文章

  1. bzoj 2226 LCMSum 欧拉函数

    2226: [Spoj 5971] LCMSum Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 1123  Solved: 492[Submit][S ...

  2. BZOJ 2226 [Spoj 5971] LCMSum 最大公约数之和 | 数论

    BZOJ 2226 [Spoj 5971] LCMSum 这道题和上一道题十分类似. \[\begin{align*} \sum_{i = 1}^{n}\operatorname{LCM}(i, n) ...

  3. bzoj 2226: [Spoj 5971] LCMSum 数论

    2226: [Spoj 5971] LCMSum Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 578  Solved: 259[Submit][St ...

  4. BZOJ 2226 【SPOJ 5971】 LCMSum

    题目链接:LCMSum 这个题显然就是要我们推式子了……那么就来推一波: \begin{aligned}&\sum_{i=1}^n lcm(i,n) \\=&\sum_{i=1}^n\ ...

  5. BZOJ 2226 [Spoj 5971] LCMSum | 数论拆式子

    题目: http://www.lydsy.com/JudgeOnline/problem.php?id=2226 题解: 题目要求的是Σn*i/gcd(i,n) i∈[1,n] 把n提出来变成Σi/g ...

  6. BZOJ 2226: [Spoj 5971] LCMSum 莫比乌斯反演 + 严重卡常

    Code: #pragma GCC optimize(2) #include<bits/stdc++.h> #define setIO(s) freopen(s".in" ...

  7. BZOJ 2226 [Spoj 5971] LCMSum

    题解:枚举gcd,算每个gcd对答案的贡献,贡献用到欧拉函数的一个结论 最后用nlogn预处理一下,O(1)出答案 把long long 打成int 竟然没看出来QWQ #include<ios ...

  8. 莫比乌斯反演&各种筛法

    不学莫反,不学狄卷,就不能叫学过数论 事实上大概也不是没学过吧,其实上赛季头一个月我就在学这东西,然鹅当时感觉没学透,连杜教筛复杂度都不会证明,所以现在只好重新来学一遍了(/wq 真·实现了水平的负增 ...

  9. BZOJ2226: [Spoj 5971] LCMSum

    题解: 考虑枚举gcd,然后问题转化为求<=n且与n互质的数的和. 这是有公式的f[i]=phi[i]*i/2 然后卡一卡时就可以过了. 代码: #include<cstdio> # ...

随机推荐

  1. Upstart概述引导方法事件驱动的任务和服务

    /*********************************************************************  * Author  : Samson  * Date   ...

  2. spring beans源码解读之--XmlBeanFactory

    导读: XmlBeanFactory继承自DefaultListableBeanFactory,扩展了从xml文档中读取bean definition的能力.从本质上讲,XmlBeanFactory等 ...

  3. 从源码角度深入理解Handler

    为了获得良好的用户体验,Android不允许开发者在UI线程中调用耗时操作,否则会报ANR异常,很多时候,比如我们要去网络请求数据,或者遍历本地文件夹都需要我们在新线程中来完成,新线程中不能更新UI, ...

  4. Java基础知识强化之IO流笔记26:FileInputStream / FileOutputStream 复制mp4视频的案例

    1.  需求:把D:\\English.mp4 复制到当前项目目录下copy.mp4 代码示例: package com.himi.filecopy; import java.io.FileInput ...

  5. PND_白盾

  6. 通过开发工具发布web应用到tomcat服务器中--对于小白,大神可以忽略不看,勿喷,谢谢

    需要的工具 MyEclipse和TomCat 本人用的是MyEclipse2014和TomCat7 TomCat结构图 第一步:在MyEclipse中配置TomCat 如图所示: 第二步:创建Web项 ...

  7. 安装SQL Server2005出现 IIS警告原因

    出现此问题的原因取决于 SQL Server 的不是所有 IIS 7.0 组件都安装在计算机上.下表列出了受影响的组件. 组件 文件夹 静态内容 常见的 HTTP 功能 默认文档 常见的 HTTP 功 ...

  8. UML图基本类型

    use case model用例模型 analysiss model分析模型 design model设计模型 implementation model实现模型 deployment model部署模 ...

  9. JDBC、Hibernate、Mybaites处理数据的流程及对DAO的理解

    以查询一个用户信息(id,name)为例: JDBC 1. 获取一个connection 2. 生成一个statement 3. 拼接SQL语句 4. 查询对象,获取结果集(假设已经找到我们需要的对象 ...

  10. 根据文件夹的GUid找到该文件夹

    Guid guid = Guid.Parse(folderGuID); SPFolder folder = list.Folders[guid].Folder;