poj 2480 Longge's problem(欧拉函数或积性函数)

《Halcon 100项目-9》Halcon彩色线序检查 Halcon彩色线序检查 阅读详情


poj 2480 Longge's problem


求∑gcd(i, N) 1<=i <=N,两种做法


第一种做法:

由gcd(i,n)=k 

=> gcd(i/k,n/k)=1

即满足gcd(i,n)=k 的i的个数应为<n/k且和n/k互质的数的个数,即eular(n/k)

然后依次枚举n的约束,累加eular(n/k)

枚举的时候注意优化

#include<stdio.h>
#include<string.h>
#include<math.h>
#define ll long long
#define MAXN 50005
bool isprim[MAXN];
ll prim[MAXN];
ll cnt;
void getprim()
{
    cnt=0;
    for(ll i=2;i<MAXN;i++)
    {
        if(!isprim[i]) prim[cnt++]=i;
        for(ll j=0;j<cnt&&prim[j]*i<MAXN;j++)
        {
            isprim[i*prim[j]]=true;
            if(i%prim[j]==0) break;
        }
    }
}
ll eular(ll n)
{
    ll rea=n;
    for(ll i=0;i<cnt&&prim[i]*prim[i]<=n;i++)
    {
        if(n%prim[i]==0)
        {
            rea=rea-rea/prim[i];
            while(n%prim[i]==0)
                n/=prim[i];
        }
    }
    if(n>1)
        rea=rea-rea/n;
    return rea;
}
int main()
{
    getprim();
    ll n;
    while(scanf("%lld",&n)!=EOF)
    {
        ll ans=0;
        for(ll i=1;i*i<=n;i++)
            if(n%i==0)
            {
                ans+=i*eular(n/i);
                if(n!=i*i)
                    ans+=n/i*eular(i);
            }
        printf("%lld\n",ans);
    }
    return 0;
}


第二种方法:考虑到gcd(i,n)是一个积性函数,即gcd(i,n)=gcd(i,a*b)=gcd(i,a)*gcd(i,b),ab互质

由于积性函数的和函数也是积性函数(定理),则所求函数f(n)=∑gcd(i, n) 1<=i <=n也是一个积性函数

可得f(n)=∑(p*phi(n/p)),p是n的约数,原理和第一种方法类似

考虑f(p^k),p为素数

f(p^k)=∑p^i*eular(p^(k-i))

利用定理eular(p^k)=p^k-p^(k-1)将上式展开化简可得:f(p^k)=k*p^k - k*p^(k-1) + p^k

于是将n进行素因数分解:f(n)=f(p1^k1)*f(p2^k2)......挨个进行处理就行了

#include<stdio.h>
#include<string.h>
#include<math.h>
#define ll long long
int main()
{
    ll n;
    while(scanf("%lld",&n)!=EOF)
    {
        ll ans=1;
        for(ll i=2;i*i<=n;i++)
        {
            if(n%i==0)
            {
                ll x=1,k=0;
                while(n%i==0)
                {
                    n/=i;
                    x*=i;
                    k++;
                }
                ans*=(k+1)*x-k*x/i;
            }
        }
        if(n>1)
            ans*=2*n-1;
        printf("%lld\n",ans);
    }
    return 0;
}




6-Halcon-- var_threshold 函数功能(用于基于局部统计特性的动态阈值分割的算子) var_threshold 是 HALCON 中用于基于局部统计特性的动态阈值分割的算子,特别适用于处理低对比度图像或纹理均匀但包含细微差异的场景。与 dyn_threshold 不同,它不依赖预处理生成的参考图像,而是直接在局部区域内计算灰度值的统计特性(均值和标准差),从而自适应调整阈值。 阅读详情

相关推荐

C51红外接收与发射控制及原理编码与解码

基于38khz的NEC协议红外发射简易电路图NEC协议产生红外光数据编码 0 1结合程序红外接收接收电路解码过程解码代码 红外发射 通过通过红外二极管发射红外光,三极管的状态来控制。 红外模块一般都是三个引脚,vcc,gnd,dat,通过控制dat口的来控制发射红外光。 简易电路图 将数据口连接到单片机的引脚为上,控制io口的电平状态,来控制三极管的导通状态,从而发射红外光。 NEC协议 NEC协议特点:8位地址和8位命令为提高可靠性,地址和命令都传输2次,脉冲间隔调制38kHz载波频率。 包含引导码,

yangfeng20的博客 1万+

POJ 2480 积性函数

题意 传送门 POJ 2480 Longge’s problem 题解 求 ∑1≤i≤ngcd(i,n)\sum\limits_{1\leq i\leq n}gcd(i,n)1≤i≤n∑​gcd(i,n) 暴力枚举显然超时,考虑到 gcd(i,N)gcd(i,N)gcd(i,N) 的值域规模较小,将相同最大公约数的情况合并计算。d=gcd(i,n)=d×gcd(i/d,n/d)d=gcd(i,n)=d\times gcd(i/d,n/d)d=gcd(i,n)=d×gcd(i/d,n/d),可得 gcd(i/

neweryyy的博客 233

别急着让AI画板!聊聊Cadence Allegro X AI和OrCAD X在实际PCB项目中的真实体验

本文分享了Cadence Allegro X AI与OrCAD X在PCB设计中的实际应用体验,探讨了AI辅助Layout的效率提升与潜在陷阱。通过高速ADC采集板案例,详细对比了AI与传统方法在电源平面分割、低速信号布线等任务中的表现,并总结了人机协作的最佳实践,为工程师提供实用参考。

weixin_30836759的博客 2189

POJ 2480 Longge's problem(欧拉函数,积性函数)

题目: LINK

Napoleon 894

Cadence Spectre仿真保姆级教程:从DC/AC到PSS/PV,手把手教你搞定模拟电路分析

作为业界标准的Cadence Spectre仿真器,以其精确的算法和丰富的分析类型,成为每个模拟IC工程师必须掌握的利器。本文将带你从零开始,系统掌握Spectre仿真的核心技能,从最基础的DC工作点分析到复杂的PSS相位噪声仿真,每个步骤都配有详细的操作指导和实用技巧。记得我第一次使用Spectre仿真一个简单的两级运放时,花了整整三天时间才得到正确的AC响应曲线。过程中踩过的坑、浪费的时间,现在想来都是宝贵的学习资源。与传统的AC分析不同,STB分析可以在不破坏环路的情况下评估稳定性。

weixin_30898555的博客 325

基于深度学习的灰度图像气泡群识别与优化

灰度图像气泡群深度学习识别优化研究 本研究针对MATLAB实现的深度学习气泡群识别系统在从1445个点到4992个点扩展时出现的精度不稳定问题,提出了一套完整的解决方案。文章首先分析了问题根源,包括数据复杂度增加、类别不平衡、网络容量不足等因素,然后系统性地提出了数据预处理增强、网络架构优化、训练策略调整和后处理算法改进等优化措施。通过改进的U-Net架构、自适应直方图均衡化等技术创新,有效提升了模型在大规模气泡群图像上的识别精度和稳定性,为化工、生物医学等领域的灰度图像分析提供了可靠的技术支持。

max500600的博客 411

poj 2480 Longge's problem(积性函数 & 欧拉函数)

http://poj.org/problem?id=2480 大意:求解 ∑gcd(i, N) 1 对于最大公约数,它有这样的性质,gcd(n,m1*m2)=gcd(nm1)*gcd(n,m2)   比如gcd(6,12)=gcd(6,3)*gcd(6,4). 我们设f(N)=∑gcd(i, N),那么它也应该是一个积性函数。(积性函数的积是积性函数,积性函数的和是积性函数) 设 其中

theArcticOcean 1049

基于STM32的智能鞋柜系统设计与实现

摘要:本文设计并实现了一种基于STM32F103C8T6单片机的智能鞋柜系统。该系统通过DHT11温湿度传感器、PM2.5粉尘传感器和MQ-135空气质量传感器构建多维度环境监测网络,结合光电红外传感器和光敏传感器实现柜门状态识别与智能照明。系统采用分层控制策略,当温度低于15℃或湿度高于65%时自动启动加热和通风,PM2.5超标时启动通风,污染物浓度升高时激活紫外线杀菌。创新性地实现了柜门状态与紫外线消毒的双保险互锁机制,确保使用安全。测试结果表明,系统温湿度控制精度达±0.4℃/±2.0%RH,PM2.

3254968421的博客 252

POJ 2480 Longge's problem (欧拉函数+乘性函数)

Longge's problem Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7343   Accepted: 2422 Description Longge is good at mathematics and he likes to think about

Jonariguez 吾本优秀 1338

Vue2 - 详细实现安装西瓜视频 xgplayer 插件详细配置及使用教程,利用西瓜视频播放器播放 mp4、flv、hls 格式视频文件及视频推流(直播或监控摄像头画面),支持移动端H5及PC网站!

vue2,nuxt2,西瓜视频,xgplayer,插件组件,xgplayer-hls,xgplayer-flv,xgplayer-mp4,播放视频点播和直播视频流,自定义播放器样式,截屏,监控视频,vue使用西瓜播放器播放flv、hls、mp4视频,截屏按钮,直播流,报错,黑屏,加载失败,苹果ios不兼容,重连,怎么改样式,很卡,详细教程,监控实时播放推流,倍速播放,在线flv在线推流地址,HLS播放,vue西瓜播放器,vue如何使用西瓜视频插件做直播推流回流,视频点播,flv在线视频流播放,截图功能,利用

🏆 前端领域优质创作者 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

POJ 2480 Longge's problem(神奇欧拉函数)

转载请注明出处,谢谢 http://blog.youkuaiyun.com/ACM_cxlove?viewmode=contents           by---cxlove http://poj.org/problem?id=2480 给出N,求 ∑gcd(i, N) 1 推导太犀利了。 首先对于每一个N的因子d,如果gcd(m,n)=d,那我们需要找出有多少这样的m,其实这步比较简单

窝不是爱酱,喵~~~~ 2808

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

POJ 2480 Longge's problem

2016暑期集训2-IPOJ 2480 Longge’s problem数论,欧拉函数变形 传送门:HustOJ 传送门:POJ

P.H.S 387

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

POJ2480《Longge's problem》题解

Description Longge is good at mathematics and he likes to think about hard mathematical problems which will be solved by some graceful algorithms. Now a problem comes: Given an integer N(1 "Oh,

Dante__Alighieri的专栏 883

poj 2480 Longge's problem 关于欧拉函数和积形函数推导

已知欧拉函数是积性函数 当 n = m1 * m2 m和m2互质 已知∑gcd(i, N) 1<=i <=N. 的值等于 ∑phi(n/i) * i 1 <= i <= n && n/i ==0 因为两个数a, b要使他们的公约数为i 那么必须有a%i=0且b%i=0 且a/i和b/i互质 所以求 n/i 的欧拉函数即为剩下的乘数可选个数因为欧拉函数是积性函数, 积性函数的和还是积性函数

acblacktea的博客 634

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

题目链接:点击查看 题目大意:给出一个n,求 题目分析:因为N到了二的三十二次方,所以直接暴力肯定会T,这里介绍两种方法,都可以做实现这个题目 首先我们需要转化一下这个题目,先说一下优化过后的暴力枚举的方法: 假设GCD(i,N)=g,那么有GCD(i/g,N/g)=1,则根据欧拉函数可知,一共有φ(N/g)个i满足条件,所以答案就是,枚举即可,时间复杂度为sqrt(n) 第二种方法是利...

Falcon的博客 555

POJ2480Longge's problem 欧拉函数

Longge's problem Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7737 Accepted: 2565 Description Longge is good at mathematics and he likes to think about hard mathematical probl

Dafang_Xu的博客 766

POJ - Longge's problem(欧拉函数)

题目链接:http://poj.org/problem?id=2480Time Limit:1000MSMemory Limit:65536K Description Longge is good at mathematics and he likes to think about hard mathematical problems which will be solved by so...

ityanger的技术栈 2520

POJ - 2480 Longge‘s problem(积性函数+欧拉函数)

传送门 gcd(x,n)gcd(x,n)gcd(x,n) 当nnn固定时,该函数是积性函数,因为对nnn质因数分解得到p1a1p2a2...pnanp_1^{a_1}p_2^{a_2}...p_n^{a_n}p1a1​​p2a2​​...pnan​​,那么gcd(x,n)=gcd(x,p1a1)∗gcd(x,p2a2)...gcd(x,pnan)gcd(x,n)=gcd(x,p_1^{a_1})*gcd(x,p_2^{a_2})...gcd(x,p_n^{a_n})gcd(x,n)=gcd(x,p1a1​

Happig的博客 230

POJ2480 Longge's problem

1 /* 2 POJ2480 Longge's problem 3 http://poj.org/problem?id=2480 4 数论 欧拉函数 线性筛 5 6 求sigma_i=1^n{gcd(i,n)} 7 <=>sigma_d|n{d*phi(n/d)} 8 * 9 * 10 * 11 ...

dianan9456的博客 126

题解报告:poj 2480 Longge's problem(欧拉函数)

Description Longge is good at mathematics and he likes to think about hard mathematical problems which will be solved by some graceful algorithms. Now a problem comes: Given an integer N(1 < ...

weixin_30321449的博客 181

Longge's problem POJ - 2480

一、内容 二、思路 通过打表我们可以发现,gcd(i, N)的结果都N的约数,那么我们便可以从此出发。 我们枚举 N的所有约数,设d为N的某一个约数,那么1~N中有gcd(i,N) == d,我们将数都除以一个d,那么就等于gcd(i/d, N/d) = 1, 故我们只需要求解出【1,N/d】 范围内和N/d互质的数(欧拉函数)。 那么题目就转化为: 枚举所有约数d, 求 phi(N/ d)的...

Tizzi的博客 502

POJ 2480 Longge's problem(数论)

正如上一篇文章说的,这题就是求∑gcd(i, N)。         求这个正是很好很巧妙的利用了函数的积性。首先设g(x)=gcd(x,N),显然g(x)是具有积性的,那么根据定理,g(x)的和f(N)也是具有积性的。所以如果对于一个数字n,有n=p1^a1*p2^a2*p3^a3……pi^ai,那么f(n)=f(p1^a1)*f(p2^a2)*f(p3^a3)*……f(pi^ai)。现在的关键就是如何求每一个的f(pi^ai)。根据上一篇文章讲的,∑gcd(i, N)=∑dφ(N/d)。那么可以写成f(

alpc_qleonardo 414

POJ 2480 Longge'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

嗯。 994

POJ 2480 Longge's problem 欧拉函数

题意: Given an integer N(1 题解: 公式:f(N)=∑x*φ(N/x),x | N (x是N的约数) 因为在1···N中,gcd(i,N) = x, 的个数的等于φ(N / x) 另外还可以利用函数的积性: 对于正整数n的一个函数 f(n),当中f(1)=1且当a,b互质,f(ab)=f(a)f(b),在数论上就称它为积性函数。若某函数f(n)符合f(1)

1954
上一篇: poj 2478 Farey Sequence(欧拉函数)
下一篇: poj 1284 Primitive Roots(欧拉函数,原根定理)
yjCola
博客等级 码龄14年 4粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值