zoukankan      html  css  js  c++  java
  • 51nod1239 欧拉函数之和

    跟1244差不多。

    //由于(x+1)没有先mod一下一直WA三个点我。。。 

    //由于(x+1)没有先mod一下一直WA三个点我。。。 
    #include<cstdio>
    #include<cstring>
    #include<cctype>
    #include<algorithm>
    using namespace std;
    #define rep(i,s,t) for(ll i=s;i<=t;i++)
    #define dwn(i,s,t) for(ll i=s;i>=t;i--)
    #define clr(x,c) memset(x,c,sizeof(x))
    #define qwq(x) for(edge *o=head[x];o;o=o->next)
    #define ll long long
    const ll md=1e6+7;
    const ll mod=1e9+7;
    const int nmax=6e6+5;
    struct edge{
    	ll to,dis;edge *next;
    };
    edge es[md<<1],*pt=es,*head[md];
    ll pi[nmax+1];int pe[nmax+1];bool vis[nmax+1];
    void add(ll u,ll v,ll d){
    	pt->to=v;pt->dis=d;pt->next=head[u];head[u]=pt++;
    }
    const ll zs=500000004;
    ll get(ll x){
    	if(x<=nmax) return pi[x];
    	ll tp=x%md;qwq(tp) if(o->to==x) return o->dis;
    	ll ans=0,last;
    	for(ll i=2;i<=x;i=last+1){
    		last=x/(x/i);
    		ans=(ans+(last-i+1)%mod*get(x/i)%mod)%mod;
    	}
    	ll orz=(x%mod*((x+1)%mod)%mod*zs%mod-ans+mod)%mod;
    	add(tp,x,orz);
    	return orz;
    }
    int main(){
    	pi[1]=1;int cnt=0,tp;
    	rep(i,2,nmax){
    		if(!vis[i]) pe[++cnt]=i,pi[i]=i-1;
    		rep(j,1,cnt){
    			tp=pe[j];if(i*tp>nmax) break;vis[i*tp]=1;
    			if(i%tp==0){
    				pi[i*tp]=pi[i]*tp;break;
    			} pi[i*tp]=pi[i]*pi[tp];
    		}
    	}
    	rep(i,2,nmax) pi[i]=(pi[i]+pi[i-1])%mod;
    	ll n;scanf("%lld",&n);
    	printf("%lld
    ",get(n));
    	return 0;
    }
    

      

    基准时间限制:3 秒 空间限制:131072 KB 分值: 320 难度:7级算法题
     收藏
     关注
    对正整数n,欧拉函数是小于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。例如:φ(8) = 4(Phi(8) = 4),因为1,3,5,7均和8互质。
     
    S(n) = Phi(1) + Phi(2) + ...... Phi(n),给出n,求S(n),例如:n = 5,S(n) = 1 + 1 + 2 + 2 + 4 = 10,定义Phi(1) = 1。由于结果很大,输出Mod 1000000007的结果。
    Input
    输入一个数N。(2 <= N <= 10^10)
    Output
    输出S(n) Mod 1000000007的结果。
    Input示例
    5
    Output示例
    10
    相关问题
    欧拉函数 
    0
     
  • 相关阅读:
    地平线4快速选车-适用入门玩家
    网站大全【杂】
    排序算法-C语言
    一个仿tp5分页组件的实现
    thinkphp 二级域名绑定模块,导致设置的路由被多域名共用的问题解决方案
    php核心技术与最佳实践 --- 错误与异常
    php核心技术与最佳实践 --- 错误与异常
    php核心技术与最佳实践--- oop
    《CSS揭秘》》
    css 单位之px , em , rem
  • 原文地址:https://www.cnblogs.com/fighting-to-the-end/p/5864669.html
Copyright © 2011-2022 走看看