首页 > 其他分享 >简单的数学题

简单的数学题

时间:2023-07-08 11:55:06浏览次数:41  
标签:lfloor frac ll rfloor 简单 数学题 Sigma mod

简单的数学题


\[\Sigma _{i=1}^{n} \Sigma _{j=1}^{n} ijgcd(i,j) \,\,\,\,n\leqslant1e10 \]


正常莫反

\[\Sigma _{d=1}^{n} \Sigma _{i=1}^{\lfloor {\frac{n}{d}} \rfloor} \Sigma _{j=1}^{\lfloor {\frac{n}{d}} \rfloor} ij[gcd(i,j)==1] \]

\[\Sigma _{d=1}^{n} \Sigma _{i=1}^{\lfloor {\frac{n}{d}} \rfloor} \Sigma _{j=1}^{\lfloor {\frac{n}{d}} \rfloor} ij \Sigma _{p|i,p|j} \mu(p) \]

\[\Sigma _{d=1}^{n} \Sigma _{p=1}^{\lfloor {\frac{n}{d}} \rfloor} p^2 \mu(p) (1+2+3+……+{\lfloor {\frac{n}{pd}} \rfloor}) \]

\[令 Sum(n)=(1+2+……+n)\,\,\,\,\,\,T=dp \]

\[\Sigma _{T=1}^{n} Sum(\lfloor {\frac{n}{T}} \rfloor) T^2 \Sigma _{d|T}d\mu(\lfloor {\frac{T}{d}} \rfloor) \]


筛出 $ T^2 \Sigma _{d|T} d\mu(\lfloor {\frac{T}{d}} \rfloor) $

…………sb

发现 $$ id * \mu (i) = \Sigma _{d|i} id(d)\mu(\lfloor {\frac{i}{d}} \rfloor) =\varphi(i) $$
好东西

\[T^2 \Sigma _{d|T} d\mu(\lfloor {\frac{T}{d}} \rfloor) = T^2 \varphi(T) \]


\[f(i)=i^2\varphi(i) \,\,\, S(n)= \Sigma _{i=1}^{n} f(i) \]

\[令 g(x)=x^2 .\,\,\, 则S(n)= \Sigma _ {i=1}^{n} g*f(i) - \Sigma _{i=2}^{n} g(i)S(\lfloor {\frac{n}{i}} \rfloor) \]

\[g*f(i) = \Sigma _{d|i} d^2*{\frac{i^2}{d^2}} \varphi(d) = i^3 \]

\[S(n)=\Sigma _{i=1}^{n} i^3- \Sigma _{i=2}^{n} i^2S(\lfloor {\frac{n}{i}} \rfloor) \]

$ \Sigma _{i=1}^{n} i^3=(\Sigma _{i=1}^{n} i)^2 ,,,, \Sigma _{i=1}^{n} i^2= {\frac{n(n+1)(2*n+1)}{6}} $


\[\Sigma _{T=1}^{n} Sum(\lfloor {\frac{n}{T}} \rfloor ) S(T) \]


  • 模数是随机模数…………
  • 取模要勤
  • $ N=n^{\frac{2}{3}}$

#include<cstdio>
#include<unordered_map>

#define ll long long

using namespace std;
const int N=4e6;

int p[N+5],cnt,flag[N+5];
ll phi[N+5];
ll mod;

ll ksm(ll a,ll b){
    ll ans=1;
    
    while(b){
        if(b&1)
            ans=(ans%mod*a%mod)%mod;
        a=a%mod*a%mod;
        b>>=1;
    }
    return ans;
}

void solve(){
    phi[1]=1;

    for(int i=2;i<=N;i++){
        if(!flag[i]){
            p[++cnt]=i;
            phi[i]=(i-1+mod)%mod;
        }
        for(int j=1;j<=cnt&&i*p[j]<=N;j++){
            int k=i*p[j];
            
            flag[k]=1;

            if(i%p[j]==0){
                phi[k]=phi[i]%mod*p[j]%mod;
                break;
            }
            phi[k]=phi[i]*(p[j]-1+mod)%mod;
        }
    }
    for(int i=1;i<=N;i++){
        phi[i]=(phi[i-1]+i%mod*i%mod*phi[i]%mod)%mod;
    }
}

unordered_map <ll,ll> sum;
ll inv2,inv6;

ll Sum(ll n){
    n%=mod;
    return n%mod*(n+1)%mod*inv2%mod;
}
ll Sum1(ll n){
    n%=mod;
    return n%mod*(n+1)%mod*(2*n+1)%mod*inv6%mod;
}

ll Sumphi(ll n){
    if(n<=N)
        return phi[n];
    if(sum[n])
        return sum[n]%mod;
    
    ll l=2,x=Sum(n)%mod,ans=x%mod*x%mod;
    ans%=mod;

    while(l<=n){
        ll r=n/(n/l);
        ans=(ans-(Sum1(r)-Sum1(l-1)+mod)%mod*Sumphi(n/l)%mod+mod)%mod;
        l=r+1;
    }
    return sum[n]=(ans+mod)%mod;
}

int main(){
    ll n;

    scanf("%lld%lld",&mod,&n);

    solve();
    inv2=ksm(2,mod-2);
    inv6=ksm(6,mod-2);

    ll ans=0,l=1;

    while(l<=n){
        ll r=n/(n/l);
        ll x=Sum(n/l)%mod;
        ans=(ans+x%mod*x%mod*(Sumphi(r)-Sumphi(l-1)+mod)%mod)%mod;
        l=r+1;
    }

    printf("%lld",ans%mod);

    return 0;
}

标签:lfloor,frac,ll,rfloor,简单,数学题,Sigma,mod
From: https://www.cnblogs.com/yszy/p/17537001.html

相关文章

  • 进程与线程的一个简单解释
    进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一......
  • 推荐一款C#开源的操作简单、免费的屏幕录制和GIF动画制作神器
    前言    今天要给大家推荐一款由C#语言开发且开源的操作简单、免费的屏幕录制和GIF动画制作神器:ScreenToGif 。工具介绍ScreenToGif是一款免费的开源屏幕录制和GIF制作工具。它可以帮助用户捕捉计算机屏幕上的实时动画,并将其保存为高质量的GIF图像格式。该工具不仅......
  • 进程与线程的一个简单解释
    进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2. 假定工厂的电力有限,一次只能供给一个车间......
  • 九九乘法表(简单版)
    代码结果展示注释:printf("%d*%d=%-2d",i,j,i*j);这里的负2是为了是乘积结果左对齐,使结果展示更美观......
  • hystrix的简单使用
    hystrix是微服务中的一个容错保护组件,用来对调用方请求另一服务时的超时,异常的降级保护。一。.全局配置。在项目中我们不会单独使用hystrix,一般是利用Feign对hystrix的封装。1.开启feign对于hystrix的支持feign.hystrix.enabled=true2.全局配置对feign客户端接口编写......
  • 简单猜数字游戏设计
    下面是游戏设计要求:游戏随机选择一个100以内的自然数,然后让玩家猜出这个数字。每轮告诉玩家他猜数字高了还是低了,直到猜出数字为止。代码实现通过上述游戏要求,我们来探索如何将上述要求转换为代码。初始设置包含一个游戏标题,一个用于输入内容输入框,一个提交按钮,以及一个提......
  • 数组的简单应用
    //slice截取console.log(arr.slice(1,3))//返回一个数组,从1开始截取,到3结束,不包括3console.log(arr)//原数组不变//push后面添加//pop后面删除//shift前面删除//unshift前面增加//splice功能非常强大,可以在任意位置增删改//改arr.splice......
  • C++ 设计模式之简单工厂模式
    设计模式之简单工厂模式(C++)简单工厂模式,主要用于创建对象。新添加类时,不会影响以前的系统代码。核心思想是用一个工厂来根据输入的条件产生不同的类,然后根据不同类的virtual函数得到不同的结果。优点:适用于不同情况创建不同的类时。缺点:客户端必须要知道基类和工厂类,耦合性差......
  • 第二天:DOS常用简单命令
    常用快捷键及简单DOS指令常用快捷键ctrl+C复制ctrl+v粘贴ctrl+A全选ctrl+S保存ctrl+X剪切ctrl+Z撤销Alt+F4关闭窗口Win+E打开我的电脑Win+R打开运行   ctrl+Alt+A截图 简单DOS指令 打开cmd的方式 开始菜单中找寻......
  • IT运维的福音!WeOps综合服务让运维更简单
    国家十四五规划及2035年远景目标纲要提到,要加快数字经济、数字社会、数字政府等以数字化转型整体驱动生产方式、生活方式和治理方式变革。在数字化进程中,企业ERP系统、医院HIS系统、PICS系统、制造业MES系统等核心系统越发重要,对IT依赖度越来越高,对业务连续性保障、IT服务用户满意......