拓展欧几里得
文章平均质量分 89
alpc_qleonardo
这个作者很懒,什么都没留下…
展开
-
数论专题(一) Uva 10780+Uva 10892+Uva 11076
自从这个暑假,吴昊学长跟我们讲了数论,然后做了那个多校的数论之后,好像对数论产生了浓厚的兴趣。于是索性接手了数论,从最基础的开始,但无奈最近开始实习,并没有什么时间搞acm…… 从头开始,首先就是lcm与gcd以及各种东西了。原创 2017-08-11 13:10:33 · 439 阅读 · 0 评论 -
拓展欧几里得总结(模板)+CSU 1941
六天的暑假结束啦,我终于回归啦…… 第一天,先把之前没做完的题目做完吧。嗯,拓展欧几里得,按理说早就该学的,但是一直拒绝数论…… 首先,拓展之前先说说普通欧几里得算法。就是著名的辗转相除法,几个同余定理。而拓展欧几里得就是利用欧几里得定理求线性方程ax+by=c的通解。要解这个方程的通解,其实一开始是求方程ax+by=gcd(a,b)的解,再转化过去的。求解方程ax+by=gcd的特解就是拓展欧几里得算法的作用,具体原理我就不在这里说了,知道特解后,它的通解形式如下:x=x0原创 2017-07-15 15:52:40 · 380 阅读 · 0 评论 -
SGU 140 Integer Sequences(拓展欧几里得)
说实话,一开始没有想到拓展gcd,以为是其他什么高端的东西…… 这题就是说给出两个向量相乘的结果和其中一个向量,问另一个向量是多少。 要解决这个问题,得从最简单的开始。相同条件下,如何求两个数字相乘中位置的数字。即已知a1x1+a2x2≡b(mod p),其中除了x1和x2以外,所以数字给出。很显然,我们就会用拓展gcd来求出x1和x2,这个我就不多解释了。那么,如果有三个数字呢?注意到,当两个数字的时候,存在解的条件gcd(x1,x2)整除b,那么在三个数字的时候,也有尊在原创 2017-08-12 20:51:09 · 563 阅读 · 0 评论 -
HDU 6004 Periodical Cicadas(拓展欧几里得+预处理)
其实这题在十几天前就开始做了,但是一直A不了…… 题目也有点意思,就是有很多个蝉排列成一个矩形,然后告诉你每个蝉开始鸣叫的时间和周期,然后给出询问问你从哪一个时刻开始,某一个矩形区间的蝉可以一起鸣叫~ 首先,我们考虑只有两个蝉的情况,那么很容易的到下面的式子:s1+t1*T1=s2+t2*T2,化简一下有t1*T1-t2*T2=s2-s1。其中T1、T2表示蝉的鸣叫周期,s1、s2表示蝉开始鸣叫的时刻。如此一来,我们只需要求得t1,那么t1*T2+s1就是他们两个同时鸣叫的时原创 2017-07-29 14:15:56 · 901 阅读 · 2 评论 -
CodeForces 1106F Lunar New Year and a Recursive Sequence(BSGS + 原根 + 矩阵类)
大致题意:告诉你F的递推式,与前K个数字有关。但是只告诉你初始前K-1个项的值和第N项的值,让你求是否存在一个满足条件的第K项。首先,由于这个递推式是: 这个式子是前K项的乘积,不方便我们用矩阵快速幂取递推,而本题n最大可以到1e9且K最大为100,根据复杂...原创 2019-02-01 21:17:14 · 776 阅读 · 0 评论 -
2019HDU多校赛 第五场 A HDU 6624 fraction(辗转相除法)
大致题意:给你一个分数在p下的逆元表示形式,现在让你反推这个分数的a/b的形式,求最小的b且0<a<b。首先,我们推一下式子: ...原创 2019-08-06 16:37:52 · 463 阅读 · 0 评论