首页 > 其他分享 >数学专题集训笔记

数学专题集训笔记

时间:2024-02-19 22:00:48浏览次数:27  
标签:专题 frac 函数 limits space sum varphi 笔记 集训

感谢lsy学长来101给我们上课~

Day 1

逆元

对于一个 \(a\),当 \(ab\equiv1\pmod{m}\) 时我们把 \(b\) 的最小整数解称作 \(a\) 模 \(m\) 的逆元,记作 \(a^{-1}\) 或 \(\frac{1}{a}\)。

接下来我们来看看逆元的求法。

费尔马小定理

如果 \(a\) 是一个整数,\(p\) 是一个质数,则有

\[a^p\equiv a\pmod{p} \]

所以对于我们上面要求的形式的话,那么有

\[a^{p-2}\cdot a\equiv 1\pmod{p} \]

所以在模数是质数的情况下,我们可以通过 \(O(\log{n})\) 的时间来快速幂求出一个数的逆元。优点是很好写,但是限制会有点大。

扩展欧几里得(exgcd)

扩欧是在基于裴蜀定理之后得到的结论,这里先说一下裴蜀定理说明的东西。

对于一个二元不定方程 \(ax+by=c\),该方程的充要条件是 \((a,b)|c\)

顺便再提一下逆元存在的充要条件:

如果 \(a\) 模 \(m\) 的逆元存在,则一定满足 \((a,m)=1\),即 \(a,m\) 互质

而扩欧能够做的是找到一个 \(ax+by=(a,b)\) 的整数解。

首先,我们根据辗转相除法可以得到 \((a,b)=(b,a\bmod b)\)。

则我们按照递归的方法进去,假设我们找到了这样的一组解,然后我们考虑如何向上更新:

\[bx_2+(a\bmod b)y_2=(b,a\bmod b)=(a,b) \]

则可以这样:

\[\because (b,a\bmod b)=(a,b) \]

\[\therefore ax_1+by_1=bx_2+(a\bmod b)y_2 \]

\[\because a\bmod b=a-\lfloor \frac{a}{b}\rfloor b \]

\[\therefore ax_1+by_1=bx_2+(a-\lfloor \frac{a}{b}\rfloor b)y_2 \]

\[ax_1+by_1=bx_2+ay_2-\lfloor \frac{a}{b}\rfloor by_2 \]

\[\Rightarrow ax_1+by_1=ay_2+b(x_2-\lfloor\frac{a}{b}\rfloor y_2) \]

\[\therefore x_1=y_2,y_1=x_2-\lfloor\frac{a}{b}\rfloor y_2 \]

那我们如果要求 \(a\) 的逆元的话只需要求 \(ax+my=(a,m)=1\),之后再将 \(x\) 取到最小自然数解即可。

扩欧的好处是它不需要满足给定的模数一定是质数的条件,在某些题目中如果多次给出模数且没有保证是质数的话那么它就有优势。可是它的时间复杂度还是 \(O(\log{n})\)。

如果某些毒瘤题目的时间要求卡的特别死的话,且要求大量的求逆元,同时模数的范围还不大的话就可以使用下面的方法。

线性求逆元

对于某些模数不大但要大量求逆元的题目,我们可以考虑 \(O(n)\) 预处理出所有的逆元,之后 \(O(1)\) 查询。

首先 \(1^{-1}\equiv 1\pmod{m}\)。即 \(1\) 的逆元是它本身。

之后我们设 \(m=kx+b\),也就是我们要求 \(x\) 的逆元。

则 \(kx+b\equiv 0\pmod{m}\)

之后我们两边同乘 \(x^{-1}b^{-1}\)

然后可以往下推:

\[kb^{-1}+x^{-1}\equiv 0\pmod{m} \]

\[x^{-1}\equiv -kb^{-1}\pmod{m} \]

\[\because k=\lfloor \frac{n}{x}\rfloor,b=(n\bmod x) \]

\[\therefore x^{-1}\equiv -\lfloor \frac{n}{x}\rfloor\cdot(n\bmod x)^{-1} \]

然后我们保存下 \(inv\) 数组,之后因为 \(n\bmod x<x\),所以 \((n\bmod x)^{-1}\) 在之前求过,所以可以 \(O(m)\) 预处理。但是这种的问题就是如果 \(m\) 很大,就不太好办了。

卢卡斯定理/Lucas 定理

直接结论:
设 \(l_n^m=C_n^m\bmod p\),\(C_n^m\) 为组合数 \(\frac{n!}{m!(n-m)!}\),\(p\) 为质数。

则有:

\[l_n^m=C_{n\bmod p}^{m\bmod p}\times l_{\frac{n}{p}}^{\frac{m}{p}} \]

数论函数与积性函数

一个定义整数集合上的函数叫做数论函数。

对于一个函数 \(f(n)\),如果 \(f(a)f(b)=f(ab)\),则称 \(f(n)\) 是积性函数。

我们怎么判断一个函数是不是积性函数呢?根据算数基本定理一个大于 \(1\) 的正整数 \(n\) 都可以表示成 \(p_1^{\alpha_1}p_2^{\alpha_2}p_3^{\alpha_3}\cdots p_k^{\alpha_k}\),其中 \(\alpha_i\) 是正整数,\(p_i\) 是质数。所以一个函数 \(f(n)\) 是积性函数的充要条件为 \(f(1)=1\) 且 \(f(n)=f(p_1^{\alpha_1})f(p_2^{\alpha_2})\cdots f(p_k^{\alpha_k})\)

下面给出一些常用的积性函数:

  1. 常数函数\(1(n)=1\)
  2. 恒等函数 \(id(n)=n\)
  3. 单位函数 \(\varepsilon(n)=[n=1]\)
  4. 欧拉函数 \(\varphi(n)=n\prod\limits_{c|n}(1-\frac{1}{c})\) 或 \(\varphi(n)=\sum\limits_{i=1}^{n}[(i,n)=1]\)
  5. 因子函数 \(d(n)=\prod\limits_{i=1}^k(a_i+1),a_i为 n 的质因数分解后 p_i 的指数\)
  6. 除数函数(因数和) \(\sigma(n)=\prod\limits_{c|n} c\)
  7. 莫比乌斯函数 \(\mu(n)=\begin{cases}1\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space n=1\\(-1)^k \space\space\space\space\space\space\space\space n=p_1\times p_2\cdots \times p_k\\\end{cases}\)

另外,积性函数都可以通过线性筛来求,只需要求出定义中质数的情况,与是否包含最小质因子的两种情况进行分类讨论即可。

莫比乌斯函数的特殊性质

\[\sum\limits_{c|n} \mu(c)=\varepsilon(n) \]

欧拉函数的特殊性质

\[\sum\limits_{c|n} \varphi(c)=n \]

【证明】
我们首先来考虑 \(\varphi(n)\) 的线性筛方法。对于一个质数 \(p\),显然 \(\varphi(p)=p-1\)
而对于 \(kp\) 与它不互质的数是 \(1,p,2p\cdots kp\),一共 \(k\) 个,所以 \(\varphi(kp)=kp-k=k(p-1)\)。之后考虑 \(\varphi(p^k)\),由上一条得 \(\varphi(p^k)=p^{k-1}(p-1)=p^k-p^{k-1}\)。
然后我们思考 \(\sum\limits_{c|p^k}\varphi(c)\),显然 \(c\) 的取值只有 \(1,p,p^2\cdots p^k\),所以 \(\sum\limits_{c|p^k}\varphi(c)=(\sum\limits_{i=1}^k \varphi(p^i))+1=(\sum\limits_{i=1}^k (p^i-p^{i-1}))+1=p^k-p^{k-1}+p^{k-1}-p^{k-2}+\cdots-p^1+p^1-p^0+1=p^k\)。之后因为积性函数的性质 \(\varphi(ab)=\varphi(a)\varphi(b)\),所以根据算数基本定理的话 \(\sum\limits_{c|n} \varphi(c)=\prod\limits_{i=1}^k \sum\limits_{c|p^i}\varphi(c)=n\)。

狄利克雷卷积

这个东西是一种定义在数论函数中的一种二元计算。对于两个函数 \(f(n)\) 与 \(g(n)\),它们的狄利克雷卷积是这样定义的:

\[(f*g)(n):= \sum\limits_{c|n} f(c)g(\frac{n}{c}) \]

显然这个东西满足交换律和结合律,当然它也有另一种表达方法:

\[(f*g)(n):=\sum\limits_{x=1}^{n}\sum\limits_{y=1}^n f(x)g(y)[xy=n] \]

特别的,\(\varepsilon(n)\) 是狄利克雷卷积的单位元,即对于所有 \(f(n)\),都有 \(\varepsilon*f=f\)

莫比乌斯反演

对于两个数论函数 \(f(n),g(n)\),如果 \(f(n)=\sum\limits_{c|n} g(c)\),则有 \(g(n)=f*\mu=\sum\limits_{c|n} f(c)\mu(\frac{n}{c})\)。

【证明】首先根据上面莫比乌斯函数的性质,\(\varepsilon=1*\mu\),同时 \(f=g*1\),则有 \(g=g*e=g*(1*\mu)=g*1*\mu=(g*1)*\mu=f*\mu\),即 \(g(n)=f*\mu=\sum\limits_{c|n} f(c)\mu(\frac{n}{c})\)

标签:专题,frac,函数,limits,space,sum,varphi,笔记,集训
From: https://www.cnblogs.com/tanghg/p/18021742/-math2024_2

相关文章

  • 2024初三集训模拟测试2
    2024初三集训模拟测试2\(T0\)谜之阶乘\(100pts\)详见普及模拟2T4阶乘。\(T1\)小P的2048\(10pts\)大模拟,没什么好说的。注意可以同时合并多对数字,但不能连续合并。点击查看代码lla[10][10];queue<ll>q;intmain(){ lln,m,x1,y1,v1,x2,y2,v2,d,k,v,su......
  • 读书笔记3
    第三章软件工程师的成长这章主要讨论软件工程师个人能力衡量及发展,一些思维误区和以后的职业发展在团队工作中,稳定、一致的交付时间时衡量一个员工能力的重要方面初级软件工程师的成长包括以下几种:(1)积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)。例如:对JAV......
  • 2024牛客寒假算法基础集训营4 K.方块掉落
    线段树维护的信息有当前行有多少方块,一共有多少方块拿线段树维护一个矩阵就行,转移更新就是矩阵乘类似题有这个 牛客多校第二场-H-zhujio两题都基本上就是转移矩阵求出来正常建线段树,pushup就是直接矩阵乘 #include<bits/stdc++.h>usingnamespacestd;#defineen......
  • FOI2023 冬令营笔记
    Day1基础算法:二分:求解满足\(x\)条件的最小\(y\)值\(\Rightarrow\)二分一个答案\(y\),判断\(y\)是否满足\(x\)条件时间复杂度:log二分答案,暴力地判断标志:最小xx的最大值/最大xx的最小值贪心:思考顺序:分治:对于一个问题,把它分解成两个大小相等的子问题,通过log层......
  • 算法学习笔记(45): 快速沃尔什变换 FWT
    遗憾的是math里面一直没有很好的讲这个东西……所以这次细致说说。FWT的本质类似于多项式卷积中,利用ntt变换使得卷积\(\to\)点乘,fwt也是类似的应用。定义某种位运算\(\oplus\),那么fwt处理的位运算卷积形如:\[H=F*G\impliesH_k=\sum_{i\oplusj=k}F_iG_......
  • 【FLINK学习笔记】 FLINK WINDOW(窗口)详解
    【FLINK学习笔记】FLINKWINDOW(窗口)详解一、Window分类GlobalWindow和和KeyedWindow在运用窗口计算时,Flink根据上游数据集是否为KeyedStream类型,对应的Windows也会有所不同。KeyedWindow:上游数据集如果是KeyedStream类型,则调用DataStreamAPI的window()方......
  • 【学习笔记】后缀数组(SA)
    前言先把SA给写出来,SAM暂时还没学会,学会了应该也不会写,因为构造过程过于繁琐。本文可能对SA的算法流程和代码实现上的介绍相对简略,主要介绍一些常见用途。约定无特殊说明字符串的下标从\(1\)开始。无特殊说明\(s\)表示字符串,\(n\)表示字符串长度。“后缀\(i\)”......
  • PCRec论文阅读笔记
    Abstract联合训练和测特征会影响目标域的预测,因为学习的嵌入被包含偏差信息的源域所主导。于是我们提出了异构跨域推荐的预训练和微调图。我们设计了一个新的跨域推荐的预训练图神经网络(PCRec),它采用了一个图编码器的对比自监督预训练,然后我们转移预先训练好的图编码器来初始化目......
  • MogDB 学习笔记之 -- 索引失效
    目录概念描述测试验证知识总结概念描述哪些操作会导致分区表的全局索引失效(比如movepartition,droppartition,truncatepartition,splitpartition,mergepartitions)测试验证1、环境准备CREATETABLEt_ran(user_numberNUMBER(11),start_timetimestamp(0)withoutt......
  • MogDB 学习笔记之 --exchange partition
    概念描述MogDB提供了从分区交换的功能,如单表转化到一个分区中基本语法:ALTERTABLE...EXCHANGEPARTITION数据库版本测试验证1、环境准备miao=>selectversion();version--------------------------------------------------------------------------------------------......