随笔分类 -  【学习笔记】-- 数论

摘要:Nim 游戏 \(n\) 堆物品,每堆有 \(a_i\) 个,两个玩家轮流取走任意一堆的任意个物品,但不能不取。取走最后一个物品的人获胜。 博弈图 如果将每个状态视为一个节点,并向它的所有后继状态连边,就可以得到一个 博弈状态图。 定义必胜状态(N)为 当前的先手 必胜的状态,定义必败状态(P)为 阅读全文
posted @ 2025-08-09 17:01 GuoSN0410 阅读(22) 评论(0) 推荐(0)
摘要:定义 莫比乌斯函数 \(\mu(n)\) 的定义: \[\mu(n)=\begin{cases} 1,\ n=1\\ (-1)^r,\ n=p_1p_2...p_r(p_i为互不相同的质数)\\ 0,\ 其他 \end{cases}\]性质 设 \(F(n)=\sum_{d|n}\mu(d)\): 阅读全文
posted @ 2025-02-16 21:53 GuoSN0410 阅读(57) 评论(0) 推荐(0)
摘要:定义 欧拉函数的形式化定义: \[\phi(n)=\sum_{i=1}^n[gcd(i,n)=1] \]表示 不超过 \(n\) 且与 \(n\) 互质的正整数的个数。 性质 \(n=\sum_{d|n}\phi(d)\) 证明:设有 \(n\) 个分数 \(\frac{1}{n},\frac{2} 阅读全文
posted @ 2025-02-16 21:10 GuoSN0410 阅读(32) 评论(0) 推荐(0)
摘要:【学习笔记】拉格朗日插值 介绍 拉格朗日插值是用来求高次多项式的一种方法。我们知道假设已经给定了 \(n\) 个点,那么一定会有一个唯一确定的 \(n-1\) 次的多项式,拉格朗日插值就是用来求这样的多项式的。 实现 给出拉格朗日插值的式子,假设已经给定了 \(n\) 个点,分别为 \(x_i,y_ 阅读全文
posted @ 2024-12-21 09:19 GuoSN0410 阅读(110) 评论(0) 推荐(0)
摘要:扩展欧几里得算法(exgcd) 简介 扩展欧几里得算法基于辗转相除法构建,主要用于求方程 \[ax+by=c \]最小正整数解 步骤 1.求方程\(ax+by=gcd(a,b)\)的解 我们构造两个方程 \[\begin{cases} ax+by=gcd(a,b)\\ bx'+(a\%b)y'=gc 阅读全文
posted @ 2024-09-17 14:03 GuoSN0410 阅读(280) 评论(0) 推荐(1)
摘要:欧拉线性筛 简介 欧拉线性筛主要用于求\(n\)以内的所有素数,时间复杂度为\(O(n)\) 算法实现 欧拉线性筛的原理是保证\(n\)以内的所有素数只被他所含有的最小质因子筛过,这样就使得每个素数只被筛过了一次。 我们设一个数组\(prime[i]\)表示第\(i\)个素数是多少,\(is\_pr 阅读全文
posted @ 2024-09-17 13:59 GuoSN0410 阅读(75) 评论(0) 推荐(0)