POJ 2480 Longge#39;s problem 积性函数
题目来源: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 积性函数相关推荐
- POJ-2480 Longge's problem 积性函数
题目链接:http://poj.org/problem?id=2480 题意:多次求sigma(gcd(i,n), 1<=i<=n<2^32) 这题不能直接搜了,需要考虑函数的性质. ...
- POJ - 2480 Longge's problem(欧拉函数+唯一分解定理)
题目链接:点击查看 题目大意:给出一个n,求 题目分析:因为N到了二的三十二次方,所以直接暴力肯定会T,这里介绍两种方法,都可以做实现这个题目 首先我们需要转化一下这个题目,先说一下优化过后的暴力枚举 ...
- 因式分解,算术基本定理,积性函数(POJ 1452 Happy2004)
积性函数:是指对于所有互质的整数a和b有性质f(ab) = f(a) * f(b) 算术基本定理:任何一个大于1的正整数都能唯一分解为有限个质数的乘积,即N = p1^x1 * p2^x2 * p3^ ...
- 《算法竞赛中的初等数论》(三)正文 0x30 积性函数(ACM / OI / MO)(十五万字符数论书)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...
- 《算法设计编程实验:大学程序设计课程与竞赛训练教材》——3.3 积性函数的实验范例...
3.3 积性函数的实验范例 首先,我们必须弄清楚什么是积性函数: 在非数论领域,积性函数是指所有对于任何a和b都有性质f(ab)=f(a)f(b)的函数. 在数论领域,考虑一个函数值为正整数的函数f, ...
- 【数学专题】莫比乌斯反演与积性函数
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的模板整合计划 目录 莫比乌斯反演 AcWing 2702. problem b AcWing 1358. 约数个数和(莫 ...
- zcmu2012(积性函数---因子和)
2012: 因子和 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 38 Solved: 12 [Submit][Status][Web Board] ...
- 51nod1040 最大公约数之和,欧拉函数或积性函数
1040 最大公约数之和 给出一个n,求1-n这n个数,同n的最大公约数的和.比如:n = 6时,1,2,3,4,5,6 同6的最大公约数分别为1,2,3,2,1,6,加在一起 = 15 看起来很简单 ...
- 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, ...
最新文章
- 某程序员吐槽:免费教妹子Java编程,妹子却不让自己找她闲聊!
- SQL Server 2005 查询处理器未能为执行并行查询启动必要的线程资源。
- JavaScript存在的原因
- 分形(Fractal)
- 话筒增益_话筒啸叫怎么办?教你四个解决话筒啸叫的方法!
- [BUUCTF-pwn]——[第五空间2019 决赛]PWN5
- Python数据结构与算法--数据类型
- 华为手机老是android自动升级,华为手机系统怎么升级 华为手机升级系统的两种方法...
- 如今微信最严新规出台,微信域名防封刻不容缓
- Java温习——SUN公司和Java平台
- AcWing《蓝桥杯集训·每日一题》—— 3777 砖块
- 【Bluetooth蓝牙开发】三、蓝牙调试工具【集合汇总】
- 运放稳定性连载13:RO何时转变为ZO?(2)
- AI识宠,拍照就能知道宠物品种,提供鼻纹识别、狗脸识别、宠物身份建档等
- 如何编写自己的头文件
- 每日时报,以前端技术体系为主要分享课题
- 补第十五周leetcode算法博客
- FFmpeg的抽帧filter:select的应用与源码分析
- BI@report钻取操作
- 一文读懂 TsFile
热门文章
- PAT 乙级 1029. 旧键盘(20) Java版
- PAT 乙级 1039. 到底买不买(20)Java版
- Linux学习总结(七十四)自动化运维之ansible
- ASP.NET缓存 Cache
- Spring入门(1)
- Java彻底 - WEB容器的侦听具体解释 ServletContextListener
- DirectAdmin安装mod_encoding支持中文
- 用cocos2d-android开发android游戏时调用box2d中的native本地函数问题
- IO File.copy 实现文件的复制
- 红帽发布虚拟化策略 产品即将上市