当前位置: 首页 > news >正文

数论部分

 

目录

  • 质数
  • 约数
  • 欧拉函数
  • 快速幂
  • 扩展欧几里得算法
  • 组合数
  • 博弈论

质数

分解质因数

一个数最小的因子一定是质数。

 for (int i = 2; i <= x / i; i ++ )if (x % i == 0){int s = 0;while (x % i == 0) x /= i, s ++ ;cout << i << ' ' << s << endl;}if (x > 1) cout << x << ' ' << 1 << endl;cout << endl;

筛质数

普通筛:

for(int i=2;i<=n;i++)
{if(!st[i]) prime[cnt++]=i;for(int j=i;j<=n;j+=i)//合数也进行操作{st[i]=true;}
}

埃氏筛法:

for(int i=2;i<=n;i++)
{if(!st[i]){prime[cnt++]=i;for(int j=i;j<=n;j+=i) st[j]=true;//利用质数筛合数} 
}

线性筛:

for(int i=2;i<=n;i++){if(!st[i])primes[cnt++]=i;for(int j=0;primes[j]*i<=n;j++)//用最小质因子筛{st[primes[j]*i]=true;if(i%primes[j]==0)break;}}

约数

每一个约数都可以由质数因子组成。

约数的个数 :

质数因子的指数+1的乘积

约数的和:

每个质因子的0-c次方的和 的乘积

最大公约数

辗转相除法:

int gcd(int a,int b)
{return b?gcd(b,a%b):a;
}

欧拉函数

1-N中与N互质的数的个数即为N的欧拉函数

快速幂

快速求解a^k mod p。

把k表示为二进制的形式,那么就只要求:a1,a2,a^4…这些数mod p的值的乘积

快速幂求逆元

b在mod p的情况下的逆元即为b^(p-2)%p。

扩展欧几里得算法

ax+by=gcd(a,b),求整数x,y。

int exgcd(int a,int b,int &x,int &y)
{if(b==0)//基情况{x=1;y=0;return a;}else{int d= exgcd(b,a%b,y,x);y-=a/b*x;return d;}
}

组合数

递归,预处理求出阶乘与阶乘的逆元,lucas定理
long long C(int x,int y)
{
long long res=1;
for(int i=x,j=1;j<=y;i–,j++)
{
res=res*i/j;

 }return res;

博弈论

必胜状态与必败状态。

sg(x1)sg(x2)…^sg(xn)如果等于零则必败,反之必胜

失败状态的sg=0;

mex函数是求没有出现过的最小的自然数

本支的sg是分支的sg值中没有出现过的最小自然数。

int sg(int x)
{if(f[x]!=-1) return f[x];//记忆化搜索unordered_set<int >S;//记录各分支的sgfor(int i=1;i<=k;i++){if(x>=op[i])S.insert(sg(x-op[i]));//有分支,则计算各分支的sg}for(int i=0;;i++){if(!S.count(i)){return f[x]=i;//本支则为mex(mex:最小的没出现过的自然数)}}}
http://www.jsqmd.com/news/48747/

相关文章:

  • Java的ConcurrentModificationException异常介绍和解决方案
  • 深入理解 Dart 中的 const 与 final:编译时常量与运行时常量
  • python: 缩放图片
  • java和python做出什么
  • java和linux
  • 湖南工程学院 学科实践与创新协会电气部 幕后揭示
  • KEYDIY PAK06-ZB Phone As Key: Replace Your Car Key with Your Smartphone for European/American Cars
  • 湖南工程学院 学科实践与创新协会电气部 新生选拔赛
  • It Calculus
  • 20232412 2024-2025-1 《网络与系统攻防技术》实验六实验报告
  • 20232309 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • 2025 ICPC 西安区域赛 VP
  • K8s学习笔记(二十二) 网络组件 Flannel与Calico - 详解
  • 完整教程:人脸识别4-Windows下基于MSVC编译SeetaFace6
  • CF1483D-Useful Edges
  • Paddle-CLS图像分类_环境安装
  • 2025年11月短视频运营公司最新TOP5推荐:业绩增长与效率筛选标准
  • 实用指南:【10】MFC入门到精通——MFC 创建向导对话框、属性页类、属性表类、代码
  • 2025-09-10-Wed-T-Kubernetes
  • 一文入门 Dify平台的插件开发
  • 20232326 2025-2026-1 《网络与系统攻防技术》实验六实验报告
  • 2025年11月小程序开发公司TOP5评测:功能落地与适配筛选标准,西南地区企业选择指南
  • 2025年11月云南数字人供应商最新TOP5推荐:精细建模优质选择
  • 第二讲下梯度下降算法
  • Java云计算技术怎样应对故障
  • 2025-08-02-Sat-T-RabbitMQ
  • Nand2Tetris 笔记
  • 审美积累暗色UI设计超越美学的用户体验
  • 具有超高峰值抑制比和低功耗的全光可调谐微波滤波器
  • 11.23