随笔分类 -  数论

摘要:传送门 我们考虑将第n只小猪塞进m个房子里(记做f[n][m]): 显然答案分为两部分: 第一部分: 将这只猪扔到一个新房间,共有方案数:f[n-1][m-1] 第二部分: 将这只猪扔进之前的房间,乘法原理知共有方案数:m*f[n-1][m] 综上:有状态转移方程:f[n][m]=f[n-1][m- 阅读全文
posted @ 2018-06-10 15:57 _ZZH 阅读(381) 评论(0) 推荐(0)
摘要:我们看下面这个例题: 我们该如何求解方程组?我们考虑加减消元。第j行减去第i行的元素的k倍,使得要消去的元的系数变为0(用第i行消去第j行)。直到最后一个式子仅剩一个元,则可求出该元,再回代到前面的式子求出其他元。这里介绍矩阵的解法:我们将方程的系数和等式右边的数提出来,组成以下的增广矩阵: 然后用 阅读全文
posted @ 2018-05-05 20:07 _ZZH 阅读(181) 评论(0) 推荐(0)
摘要:/* 设a≡b[i](mod w[i) i=1->n; 我们记k=w[1]*w[2]*w[3]*……*w[n] 则方程组在mod k 同余的意义下有唯一解 我们令x=(k/w[i])*yi 那么方程等价于(k/w[i])y≡1(mod w[i]) 那么方程组的解x0=b1x1+b2x2+...+bn 阅读全文
posted @ 2018-04-22 20:52 _ZZH 阅读(137) 评论(0) 推荐(0)
摘要:若a*x≡1(mod b) a,b互质,则称x为a的逆元,记为a-1。在计算(t/a)mod b 时等价于t*a-1mod b。 显然可转化为ax+by=1,用扩欧来求解,但相对来说是比较慢的,这里还有线性算法: 首先1-1≡1(mod p) 设p=k*i+r,那么k*i+r≡0(mod p)两边同 阅读全文
posted @ 2018-04-15 09:27 _ZZH 阅读(557) 评论(0) 推荐(0)
摘要:φ//如果不熟悉欧拉函数可转超链接<-- 正题: 1.仪仗队: 求从(0,0)点可以看到的点,我们考虑正比例函数的斜率,同一斜率上只能看到一个点,我们要知道对于斜率0~1在一个n*n的点阵中有多少可能的斜率使得有若干点在函数上。 观察规律: 1*1:显然答案为0(自己看到自己当然不算了) 2*2:有 阅读全文
posted @ 2018-04-14 20:46 _ZZH 阅读(1722) 评论(0) 推荐(0)
摘要:我们规定φ(p)表示1~p-1中与p互质的数的个数,规定φ(1)=1。 有以下性质: 1.当p为素数是φ(p)=p-1 2.设m>1,(a,m)=1,则: aφ(m)≡1(mod m). (欧拉定理) 3.设p为素数,(a,p)=1,则: ap-1≡1(mod p).(费马小定理) 4.若i mod 阅读全文
posted @ 2018-04-14 11:14 _ZZH 阅读(433) 评论(0) 推荐(0)
摘要:#include #include #include using namespace std; bool b[1000010]; int prime[100010],point; int n; int main() { scanf("%d",&n); b[0]=b[1]=1; for(int i=2;in)break; b[i*prime[j]]=1; if(i%prime[j... 阅读全文
posted @ 2018-04-11 21:50 _ZZH 阅读(137) 评论(0) 推荐(0)