【poj3243】拓展BSGS(附hash版)

  上一篇博文中说道了baby step giant step的方法(简称BSGS),不过对于XY mod Z = K ,若x和z并不互质,则不能直接套用BSGS的方法了。

  为什么?因为这时候不存在逆元了啊,那么怎么办呢?

  既然是x和z不互质,那么我们就想办法让他们互质,再套用BSGS的解法即可。(这就是所谓的消因子法)

时间: 2024-08-07 04:05:31

【poj3243】拓展BSGS(附hash版)的相关文章

【POJ 3243】Clever Y 拓展BSGS

调了一周,我真制杖,,, 各种初始化没有设为1,,,我当时到底在想什么??? 拓展BSGS,这是zky学长讲课的课件截屏: 是不是简单易懂.PS:聪哥说“拓展BSGS是偏题,省选不会考,信我没错”,那是因为聪哥早就会了,所以他觉得学这个没用,信他才怪233 #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef lo

数论之高次同余方程(Baby Step Giant Step + 拓展BSGS)

什么叫高次同余方程?说白了就是解决这样一个问题: A^x=B(mod C),求最小的x值. baby step giant step算法 题目条件:C是素数(事实上,A与C互质就可以.为什么?在BSGS算法中是要求a^m在%c条件下的逆元的,如果a.c不互质根本就没有逆元.) 如果x有解,那么0<=x<C,为什么? 我们可以回忆一下欧拉定理: 对于c是素数的情况,φ(c)=c-1 那么既然我们知道a^0=1,a^φ(c)=1(在%c的条件下).那么0~φ(c)必定是一个循环节(不一定是最小的)

分享我用Qt开发应用程序【一】,附绿色版下载,以后会慢慢公布源码

写在前面: 1.第一版的代码还有些烂,等功能开发齐全了,做一次重构,再慢慢分享代码 2.邮箱功能.自动升级功能还没有做,笔记功能和备忘功能是好用的,大家如果不嫌弃,可以先用起来 3.笔记功能目前还不能直接贴图或贴附件到编辑器里去,我后续会把这个功能加上去 4.用的是qt5.3+sqlite 3 5.笔记里的编辑器是用webview引入进来的kindeditor,本来打算用百度开源的编辑器,但是一启动就崩溃,联系百度的开发人员都没能解决,后来就放弃尝试了 6.界面中的所有icon图标都是用的fon

【POJ3243】【拓展BSGS】Clever Y

Description Little Y finds there is a very interesting formula in mathematics: XY mod Z = K Given X, Y, Z, we all know how to figure out K fast. However, given X, Z, K, could you figure out Y fast? Input Input data consists of no more than 20 test ca

【HDU2815】【拓展BSGS】Mod Tree

Problem Description   The picture indicates a tree, every node has 2 children.  The depth of the nodes whose color is blue is 3; the depth of the node whose color is pink is 0.  Now out problem is so easy, give you a tree that every nodes have K chil

基于改进人工蜂群算法的K均值聚类算法(附MATLAB版源代码)

其实一直以来也没有准备在园子里发这样的文章,相对来说,算法改进放在园子里还是会稍稍显得格格不入.但是最近邮箱收到的几封邮件让我觉得有必要通过我的博客把过去做过的东西分享出去更给更多需要的人.从论文刊登后,陆陆续续收到本科生.研究生还有博士生的来信和短信微信等,表示了对论文的兴趣以及寻求算法的效果和实现细节,所以,我也就通过邮件或者短信微信来回信,但是有时候也会忘记回复. 另外一个原因也是时间久了,我对于论文以及改进的算法的记忆也越来越模糊,或者那天无意间把代码遗失在哪个角落,真的很难想象我还会全

BSGS算法及拓展

https://www.zybuluo.com/ysner/note/1299836 定义 一种用来求解高次同余方程的算法. 一般问题形式:求使得\(y^x\equiv z(mod\ p)\)的最小非负\(x\). \(BSGS\)算法 要求\(p\)是质数. 由费马小定理可知,\(y^{p-1}\equiv1(mod\ p)\),所以暴力枚举只要枚举到\(p?1\)即可. 但是由于\(p\)一般都很大,所以一般都跑不动... 优化算法\(ing...\) 现在令\(x=mi?j\)(其中\(m

ACM模板

目录 语法 c++ java 动态规划 多重背包 最长不下降子序列LIS 计算几何 向量(结构体) 判断两条线段是否相交 曼哈顿距离.切比雪夫距离 Pick定理 二维凸包 点是否在线段上 多边形面积 多边形的面积重心 三维向量(结构体) 三维凸包 数据结构 ST表 单调队列MQ 树状数组BIT 超级树状数组SPBIT 线段树ST 指针版线段树ST 带内存池指针版线段树ST 并查集DSU 左偏树LLT zkw线段树 多关键字堆 双头优先队列 数学 唯一分解 线性递推二项式系数 单个欧拉函数 编码与

LeetCode 72 Edit Distance

Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.) You have the following 3 operations permitted on a word: a) Insert a character b) Delete a character c) Repla