题目来源:POJ 2480 Longge's problem

题意:求i从1到n的gcd(n, i)的和

思路:首先假设m, n 互质 gcd(i, n*m) = gcd(i, n)*gcd(i, m) 这是一个积性函数积性函数的和还是积性函数

由欧拉函数知识得 phi(p^a) = p^a - p^(a-1) p是素数 a是正整数

得到终于答案f(n) = f(p1^a1)*f(p2^a2)*...*f(pn^an) 当中f(p^a) = a*(p^a-p^(a-1))+p^a

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long LL;const int maxn = 1000010;
//筛素数
int vis[maxn];
LL prime[maxn];LL pow_mod(LL a, LL p)
{LL ans = 1;while(p){if(p&1){ans *= a;}a *= a;p >>= 1;}return ans;
}void sieve(int n)
{int m = sqrt(n+0.5);memset(vis, 0, sizeof(vis));vis[0] = vis[1] = 1;for(int i = 2; i <= m; i++)if(!vis[i])for(int j = i*i; j <= n; j += i)vis[j] = 1;
}int get_primes(int n)
{sieve(n);int c = 0;for(int i = 2; i <= n; i++)if(!vis[i])prime[c++] = i;return c;
}int main()
{int c = get_primes(200000);int cas = 1;int T;LL n, ans;while(scanf("%I64d", &n) != EOF){ans = 1; for(int i = 0; i < c && prime[i]*prime[i] <= n; i++){if(n%prime[i] == 0){LL sum = 0;while(n%prime[i] == 0){sum++;n /= prime[i];}ans *= sum*(pow_mod(prime[i], sum)-pow_mod(prime[i], sum-1))+pow_mod(prime[i], sum);}}if(n > 1){ans *= n-1+n;}printf("%I64d\n", ans);}return 0;
}

POJ 2480 Longge#39;s problem 积性函数相关推荐

  1. POJ-2480 Longge's problem 积性函数

    题目链接:http://poj.org/problem?id=2480 题意:多次求sigma(gcd(i,n), 1<=i<=n<2^32) 这题不能直接搜了,需要考虑函数的性质. ...

  2. POJ - 2480 Longge's problem(欧拉函数+唯一分解定理)

    题目链接:点击查看 题目大意:给出一个n,求 题目分析:因为N到了二的三十二次方,所以直接暴力肯定会T,这里介绍两种方法,都可以做实现这个题目 首先我们需要转化一下这个题目,先说一下优化过后的暴力枚举 ...

  3. 因式分解,算术基本定理,积性函数(POJ 1452 Happy2004)

    积性函数:是指对于所有互质的整数a和b有性质f(ab) = f(a) * f(b) 算术基本定理:任何一个大于1的正整数都能唯一分解为有限个质数的乘积,即N = p1^x1 * p2^x2 * p3^ ...

  4. 《算法竞赛中的初等数论》(三)正文 0x30 积性函数(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  5. 《算法设计编程实验:大学程序设计课程与竞赛训练教材》——3.3 积性函数的实验范例...

    3.3 积性函数的实验范例 首先,我们必须弄清楚什么是积性函数: 在非数论领域,积性函数是指所有对于任何a和b都有性质f(ab)=f(a)f(b)的函数. 在数论领域,考虑一个函数值为正整数的函数f, ...

  6. 【数学专题】莫比乌斯反演与积性函数

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的模板整合计划 目录 莫比乌斯反演 AcWing 2702. problem b AcWing 1358. 约数个数和(莫 ...

  7. zcmu2012(积性函数---因子和)

    2012: 因子和 Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 38  Solved: 12 [Submit][Status][Web Board] ...

  8. 51nod1040 最大公约数之和,欧拉函数或积性函数

    1040 最大公约数之和 给出一个n,求1-n这n个数,同n的最大公约数的和.比如:n = 6时,1,2,3,4,5,6 同6的最大公约数分别为1,2,3,2,1,6,加在一起 = 15 看起来很简单 ...

  9. ACM-ICPC 2018 南京赛区网络预赛Sum,线性筛处理积性函数

    SUM 题意:f(n)是n可以拆成多少组n=a*b,a和b都是不包含平方因子的方案数目,对于a!=b,n=a*b和n=b*a算两种方案,求∑i=1nf(i) 首先我们可以知道,n=1时f(1)=1, ...

最新文章

  1. 某程序员吐槽:免费教妹子Java编程,妹子却不让自己找她闲聊!
  2. SQL Server 2005 查询处理器未能为执行并行查询启动必要的线程资源。
  3. JavaScript存在的原因
  4. 分形(Fractal)
  5. 话筒增益_话筒啸叫怎么办?教你四个解决话筒啸叫的方法!
  6. [BUUCTF-pwn]——[第五空间2019 决赛]PWN5
  7. Python数据结构与算法--数据类型
  8. 华为手机老是android自动升级,华为手机系统怎么升级 华为手机升级系统的两种方法...
  9. 如今微信最严新规出台,微信域名防封刻不容缓
  10. Java温习——SUN公司和Java平台
  11. AcWing《蓝桥杯集训·每日一题》—— 3777 砖块
  12. 【Bluetooth蓝牙开发】三、蓝牙调试工具【集合汇总】
  13. 运放稳定性连载13:RO何时转变为ZO?(2)
  14. AI识宠,拍照就能知道宠物品种,提供鼻纹识别、狗脸识别、宠物身份建档等
  15. 如何编写自己的头文件
  16. 每日时报,以前端技术体系为主要分享课题
  17. 补第十五周leetcode算法博客
  18. FFmpeg的抽帧filter:select的应用与源码分析
  19. BI@report钻取操作
  20. 一文读懂 TsFile

热门文章

  1. PAT 乙级 1029. 旧键盘(20) Java版
  2. PAT 乙级 1039. 到底买不买(20)Java版
  3. Linux学习总结(七十四)自动化运维之ansible
  4. ASP.NET缓存 Cache
  5. Spring入门(1)
  6. Java彻底 - WEB容器的侦听具体解释 ServletContextListener
  7. DirectAdmin安装mod_encoding支持中文
  8. 用cocos2d-android开发android游戏时调用box2d中的native本地函数问题
  9. IO File.copy 实现文件的复制
  10. 红帽发布虚拟化策略 产品即将上市