POJ 2417 Discrete Logging【大步小步

news/2025/1/13 8:07:40/

裸的BSGS

安利这个blog,我觉得讲得很靠谱

顺便BSGS真的不用求逆元,既然可以设x=ka+b,不如直接设成x=ka-b,乘到那边就完事了

不用求但是还是要用到逆元的思想

以上


#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<iostream>
#include<map>
#include<set>
using namespace std;	long long B,N,P;
long long mult(long long u,long long v){return (u*v-(long long)((long double)u*v/P)*P+P)%P;
}map<long long,int> mp;
set<long long> stt;long long ans;
long long BSGS(long long a,long long b,long long p){ans=-1;a%=p,b%=p;map<long long,int> mp_tmp;mp_tmp.swap(mp);set<long long> set_tmp;set_tmp.swap(stt); long long root_p=ceil(sqrt((double)p));if(b==1)	return ans=0;long long tmp=1,ttmp;	for(int i=0;i<root_p;++i,tmp=mult(tmp,a),b=mult(b,a))stt.insert(b),mp[b]=i;ttmp=tmp;for(int i=1;i<=root_p;++i,ttmp=mult(ttmp,tmp))if(stt.count(ttmp))return ans=i*root_p-mp[ttmp];return ans;
}int main(){while(~scanf("%lld%lld%lld",&P,&B,&N))(~BSGS(B,N,P))?printf("%lld\n",ans):puts("no solution");return 0;
}



http://www.ppmy.cn/news/228812.html

相关文章

学习使用常用的windbg命令(u、dt、ln、x)(转)

详细 &#xff08;1&#xff09;u命令&#xff08;反汇编&#xff09; &#xff08;2&#xff09;dt命令&#xff08;查看数据结构&#xff09; &#xff08;3&#xff09;ln命令&#xff08;查找就近的符号&#xff09; &#xff08;4&#xff09;x命令&#xff08;显示模…

真机读取u盘里面的图片并显示

做了很久的相册功能&#xff0c;真不容易&#xff0c;边做边学&#xff0c;而且还没有做完&#xff0c;因为想从ec换成as&#xff0c;所以在as downloads的时候我就先把过程中的一些问题和知识点先记下来。 首先&#xff0c;项目中使用了&#xff0c;aidl&#xff0c;官方解释是…

linux PC进不了pe 引导,【U盘模式无法引导进入pe系统】u盘启动无法进入pe系统_电脑无法进入pe系统-系统城...

2016-04-20 19:06:49  浏览量:4304 使用U盘PE装系统已经非常流行,特别是在电脑无法启动时,可以通过U盘PE给电脑重新安装系统,那么要怎么进入U盘PE系统呢?下面系统城小编就教大家怎么用U盘进入PE系统的方法。 2017-03-01 17:01:06  浏览量:10974 pe是装系统最常用到的…

poj2417: bsgs算法模板

bsgs算法用来解决有关A^x ≡ B (mod C)的方程, 求x 把x看成 i*m-j&#xff0c;上面的式子就可以变成A^(i * m - j) ≡ B (mod C) > A^(i * m) ≡ B * A^j (mod C) 具体解释看这个&#xff1a;https://blog.csdn.net/clover_hxy/article/details/50683832 这个博客是…

洛谷P2417 课程解题报告

课程 P2417 技术统计 难度 提高/省选- 用时 1h 提交次数 7 unaccept 次数 5 ac次数 2 题意概括 是否可以完全匹配 数据范围 n ≤ 100 , m ≤ 20000 n\le 100,m\le20000 n≤100,m≤20000 解法一、 知识点 匈牙利算法二分图匹配 解法概括 匈牙利算法的板子题&#x…

外接设备读取u盘里面的图片并显示

做了很久的相册功能&#xff0c;真不容易&#xff0c;边做边学&#xff0c;而且还没有做完&#xff0c;因为想从ec换成as&#xff0c;所以在as downloads的时候我就先把过程中的一些问题和知识点先记下来。 首先&#xff0c;项目中使用了&#xff0c;aidl&#xff0c;官方解释是…

学计算机需要外接显示器吗,读设计专业,上大学配什么电脑好!

原标题&#xff1a;读设计专业&#xff0c;上大学配什么电脑好&#xff01; 看点 设计是艺术专业的老大哥&#xff0c;在校生最多的艺术专业。而现在读设计专业&#xff0c;绝对离不开电脑&#xff0c;因为需要用电脑制作很多效果。那么艺术生进入大学&#xff0c;学习设计&…

大学设计学类计算机要学什么,学设计的艺术生上大学,配什么电脑好!

原标题&#xff1a;学设计的艺术生上大学&#xff0c;配什么电脑好&#xff01; 艺术生进入大学&#xff0c;学习设计&#xff0c;对本专业应该学习什么软件工具和应该买什么样配置的电脑这些疑问应该最大&#xff0c;下面就分专业和方向详细讲一下。 备注&#xff1a;本文推荐…