spoj LCM Sum

原创 2016年08月30日 18:04:08

一个数论定理 对于n >= 2 小于它与它互质的数的和 为 n*phi*(n)/2
然后lcm(a,b) = a * b / gcd(a, b)
时间太紧 所以打表预处理枚举每个数然后找到每个能整除它的数加上一部分欧拉函数的和

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<iostream>
#include<cmath>
#define maxn 1000005
#define LL long long
using namespace std;
// 欧拉函数3
LL eular[maxn];
LL prime[maxn][15],num[maxn],flag[maxn],AM = 0;

void Eorue(){
    eular[1] = 1;
    for(LL i = 2;i < maxn; i++){
        if(eular[i] == i){
            eular[i] = i - 1;
            for(LL j = 2; j * i < maxn; j++){
                eular[i * j] = eular[i * j] * (i - 1) / i;
            }
        }
        //eular[i] += eular[i-1];
    }
}
LL ans[maxn];
int main()
{
    for(LL i = 1; i < maxn; i++) eular[i] = i;
    Eorue();
    for(LL i = 1; i <= 1000000; i++)
        for(LL j = 1; j * i <= 1000000; j++)
         {
            if(j != 1)ans[j * i] += j * i * (eular[j] * j / 2ll);
            else ans[j * i] += j * i;
         }
    int t;
    scanf("%d", &t);
    while(t--)
    {
        int n;
        scanf("%d", &n);
        printf("%lld\n", ans[n]);
    }
    return 0;
}
//277811686426000000

SPOJ 5971 lcm sum

题目链接:https://www.spoj.pl/problems/LCMSUM/ SPOJ Problem Set (classical) 5971. LCM Sum Problem co...
  • xieshimao
  • xieshimao
  • 2011年08月01日 11:12
  • 1524

spoj5971 LCM Sum

题目链接:猛戳这里题目大意:求∑ni=1lcm(i,n)\sum_{i=1}^{n}lcm(i,n),比51nod上那道最小公倍数之和V2要简单。解题思路:因为是上面那道题的简单版,所以可以直接套用上...
  • define_danmu_primer
  • define_danmu_primer
  • 2016年07月12日 20:51
  • 178

spoj LCMSUM

题目题目链接 给定N,求∑Ni=1Lcm(i,N)\sum_{i=1}^NLcm(i,N)。 共T组测试数据。 1
  • zmh964685331
  • zmh964685331
  • 2016年01月18日 13:41
  • 327

[BZOJ2226][Spoj5971][数论]LCMSum[好题]

SPOJ5907 LCMSum
  • BenjaminPMLee
  • BenjaminPMLee
  • 2015年04月08日 22:17
  • 1245

SPOJ 5971 LCM SUM

题意: 求 ∑i=1i=n LCM(i,n)\sum_{i=1}^{i=n}\ LCM(i, n) 1≤T≤300000 1≤n≤1061 \le T \le 300000\ 1 \le ...
  • u014686462
  • u014686462
  • 2016年04月11日 23:49
  • 320

SPOJ - LCMSUM LCM Sum

题目:给你一个N,求LCM(i,n),1 思路: 对于 n >= 2,与n互质的数的和为(n *phi (n) / 2) 然后枚举gcd,利用欧拉函数进行计算 代码: #pragma com...
  • ACVector
  • ACVector
  • 2017年08月21日 16:19
  • 61

【BZOJ2226】LCM SUM,数论之一维LCM(莫比乌斯反演)

下午要回去了
  • xym_CSDN
  • xym_CSDN
  • 2016年06月18日 11:01
  • 561

uva 10791 - Minimum Sum LCM(分解因子)

题目大意:uva 10791 - Minimum Sum LCM 题目大意:给出一个n,将n分解成n = p1 ^ k1 * p2 ^ k2 * ... * pm ^ km,然后求解sum = ∑...
  • u011328934
  • u011328934
  • 2013年10月24日 08:41
  • 1441

SPOJ LCM Sum(积性函数递推+预处理)

求∑ni=1lcm(i,n),T组询问求\sum_{i=1}^n lcm(i,n),T组询问 ∑ni=1i∗ngcd(i,n)=∑d|nn∗d∗n2d∗phi(nd)d=∑d|nn∗d∗phi(d)...
  • Miracle_ma
  • Miracle_ma
  • 2016年09月04日 12:56
  • 194

spoj 5971 LCM SUM 求∑lcm(i,n)

spoj 5971. LCM SumProblem code: LCMSUM Given n, calculate the sum LCM(1,n) + LCM(2,n) + .. + LCM(n,n...
  • kongming_acm
  • kongming_acm
  • 2010年08月08日 19:28
  • 1135
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spoj LCM Sum
举报原因:
原因补充:

(最多只允许输入30个字)