数学
文章平均质量分 77
TimEckel
救赎之道,就在其中
展开
-
欧拉函数
关于欧拉函数有如下几点性质: 1、phi(1) = 1 2、若n是质数,那么phi(n) = n-1 3、若n是质数x的k次幂,phi(n) = (x-1)*x^(k-1) 4、若m,n互质,那么phi(m*n) = phi(m)*phi(n) 5、若n是奇数,那么phi(2*n) = phi(n) 6、若x,y是质数,且n = x*y,那么phi(n) = (x-1)*(y-1) 6原创 2017-11-26 21:23:17 · 457 阅读 · 0 评论 -
博弈论
引例Nim游戏:有三堆扑克牌(比如:可以分别是 5,7,9张);游戏双方轮流操作;有两个玩家;玩家的每次操作是选择其中某一堆牌,然后从中取走任意张;最后一次取牌的一方为获胜方;可以推出:对于nim游戏的某个位置(x1,x2,x3),当且仅当它各部分的nim-sum等于0时(即x1⊕x2⊕x3=0),则当前位于必败点。博弈里面常常用到一个重要的概念 -- SG。书上的定义:除任意一步所能转移到...原创 2018-04-02 00:34:27 · 441 阅读 · 0 评论 -
筛素数
ACM比赛中经常能遇到关于素数的题目,可能需要我们预处理求出100W,1000W以内的所有素数。笔者在这里介绍共三种筛素数的方法,代码如下:#include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn=100000000; int prime[maxn];原创 2017-11-26 22:44:53 · 261 阅读 · 0 评论 -
快速幂
a的b次方怎么求pow(a, b)是数学头文件math.h里面有的函数可是它返回值是double类型,数据有精度误差LL pow(LL a, LL b){//a的b次方 LL ret = 1; for(LL i = 1; i <= b; i ++){ ret *= a; } return ret;}如果数据量大而且要modLL pow_mod(LL原创 2017-11-26 22:41:53 · 222 阅读 · 0 评论 -
大数因数分解Pollard_rho 算法
大数分解最简单的思想也是试除法,这里就不再展示代码了,就是从2到sqrt(n),一个一个的试验,直到除到1或者循环完,最后判断一下是否已经除到1了即可。但是这样的做的复杂度是相当高的。一种很妙的思路是找到一个因子(不一定是质因子),然后再一路分解下去。这就是基于Miller_rabin的大数分解法Pollard_rho大数分解。Pollard_rho算法的大致流程是 先判断当前数是否是素数(Mill原创 2017-11-26 22:34:30 · 843 阅读 · 0 评论 -
Miller_Rabin算法
定理一:假如p是质数,且(a,p)=1,那么a^(p-1)≡1(mod p)。即假如p是质数,且a,p互质,那么a的(p-1)次方除以p的余数恒等于1。(费马小定理)该定理的逆命题是不一定成立的,但是令人可喜的是大多数情况是成立的。于是我们就得到了一个定理的直接应用,对于待验证的数p,我们不断取a∈[1,p-1]且a∈Z,验证a^(p-1) mod p是否等于1,不是则p果断不是素数,共取s次。其中原创 2017-11-26 22:33:12 · 308 阅读 · 0 评论 -
拓展欧几里德
首先, ax+by = gcd(a, b) 这个公式肯定有解 (( •̀∀•́ )她说根据数论中的相关定理可以证明,反正我信了)所以 ax+by = gcd(a, b) * k 也肯定有解 (废话,把x和y乘k倍就好了)所以,这个公式我们写作ax+by = d,(gcd(a, b) | d)gcd(a, b) | d,表示d能整除gcd,这个符号在数学上经常见 那么已知 a,b 求 一组解 x,y原创 2017-11-26 22:27:44 · 234 阅读 · 0 评论 -
威尔逊定理
当且仅当p为素数时:( p -1 )! ≡ -1 ( mod p )。这是威尔逊给出了判定一个自然数是否为 素数 的 充分必要条件但是由于阶乘是呈爆炸增长的,其结论对于实际操作意义不大。初等数论四大天王之一。 hdu2973#include <iostream>#include<cstdio>using namespace std;#define maxn 1000010int a[max原创 2017-11-26 22:23:57 · 628 阅读 · 0 评论 -
中国剩余定理
①设正整数两两互素, 中国剩余定理给出了以下的一元线性同余方程组: 中国剩余定理说明:假设整数m1,m2, … ,mn两两互质,则对任意的整数:a1,a2, … ,an, 方程组(S) 有解,并且通解可以用如下方式构造得到: 设是整数m1,m2, … ,mn的乘积,并设是除了mi以外的n- 1个整数的乘积。 设通解形式为在模M的意义下,方程组(S)只有一个解: poj1006原创 2017-11-26 21:41:02 · 283 阅读 · 0 评论 -
欧拉函数模板
5 LL eulr(LL n) 6 { 7 LL ans=n; 8 for(LL i=2;i*i<=n;i++) 9 { 10 if(n%i==0) 11 { 12 ans=ans/i*(i-1); 13 while(n%i==0) 14原创 2017-11-26 20:08:44 · 843 阅读 · 0 评论 -
Polya定理
polya定理主要是用于解决等价类计数问题的,所谓等价类计数问题是指题目中会定义一种等价关系,满足这个关系的元素都会被看成同一类,并只需要统计一次,最终需要统计所有的不同方案数。polya定理主要就是解决一类着色问题,对于任意的带变换的着色计数问题,我们都可以把变换用置换群表示出来,或者说是同构计数问题。设染色方案数是n,置换群个数是p,置换群长度是s,那么利用Burnside引理,通过考察每个染...原创 2018-03-29 00:43:54 · 2072 阅读 · 0 评论