BSGS
Icefox_zhx
这个作者很懒,什么都没留下…
展开
-
bzoj3239/poj2417 Discrete Logging(BSGS+Hash表)
BSGS模板题。 BSGS算法,原名Baby Steps Giant Steps,又名大小步算法,数论基本算法之一。用来求离散对数。即给定a,b,p,求最小的正整数x使得ax≡bmodpa^x\equiv b \mod p,p为质数。我们考虑暴力怎么做,根据费马小定理,如果(a,p)=1,p为质数,那么我们有ap−1≡1modpa^{p-1}\equiv1\mod p,因此我们有ak≡ak%(p−原创 2018-04-03 15:25:41 · 230 阅读 · 0 评论 -
bzoj3122 [Sdoi2013]随机数生成器(BSGS+Hash表)
首先把特殊情况特判掉。然后对于递推式xi+1=axi+bx_{i+1}=ax_i+b 我们可以搞一下通项:xi+1+ba−1=ai(x1+ba−1)x_{i+1}+\frac{b}{a-1}=a^i(x_1+\frac{b}{a-1})。 可以看做ak≡bmodpa^k\equiv b\mod p 其中b=t+ba−1x1+ba−1%pb=\frac{t+\frac{b}{a-1}}{x_1+原创 2018-04-03 20:12:10 · 200 阅读 · 0 评论 -
poj3243 Clever Y(EXBSGS+Hash表+欧拉函数)
扩展BSGS,经典的BSGS只能求解p为质数时的离散对数。那么如果p不是质数呢?其实我们发现p是不是质数不重要,重要的是(a,p)==1.at≡bmodpa^t\equiv b\mod p 如果(a,p)!=1,我们设为k,a=Ak,p=Pk,b=Bk(显然当b不是k的倍数时无解) 那么我们有Akt≡BkmodPk{Ak}^t\equiv {Bk}\mod {Pk} 可以把k除掉,得到Aat−原创 2018-04-03 21:43:41 · 345 阅读 · 0 评论 -
bzoj2242 [SDOI2011]计算器(BSGS+Hash表+乘法逆元)
操作3是bsgs裸题。 注意特判a是p的倍数的情况。 没想到死在了操作2上了【再见】原创 2018-04-03 22:55:17 · 532 阅读 · 0 评论 -
bzoj2219 数论之神(CRT+BSGS+数论)
嗯,在三天之后,我终于把这题A了qaq 太神了。orz po姐题解:portal(配合评论食用效果更佳哟)原创 2018-04-07 13:55:07 · 307 阅读 · 0 评论 -
bzoj4128 Matrix(BSGS+高斯消元,矩阵求逆+Hash表)
BSGS,只不过变成了矩阵。 学习了一下矩阵求逆,用高斯消元来做即可。O(n3)O(n^3) 还是把系数矩阵放左面,右边的常数向量变成了一个单位矩阵。高斯消元即可,最后左边变成了一个单位矩阵,右边就是我们的逆矩阵。原创 2018-04-28 20:20:01 · 265 阅读 · 0 评论