hdu 2815 : Mod Tree 【扩展BSGS】
直接用模板好了。实在不行,反正有队友啊~~~~
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
map<LL,LL>mp;
LL qpow(LL x,LL n,LL mod) //求x^n%mod
{
LL ret=;
)
{
) ret=ret*x%mod;
x=x*x%mod;
}
return ret;
}
LL gcd(LL a, LL b)
{
return b? gcd(b,a%b):a;
}
LL BSGS(LL a,LL b,LL p)
{
a%=p;
b%=p;
// if (a==0&&b==0) return 0;
// if (a==0) return -1;
) ;
;
LL t=;
; g=gcd(a,p))
{
;
p/=g;
b/=g;
t=t*a/g%p;
cnt++;
if(b==t) return cnt;
}
mp.clear();
int m=ceil(sqrt(double(p)));
LL base=b ;
; i<m; i++)
{
mp[base]=i;
base=base*a%p;
}
base=qpow(a,m,p);
LL ret=t;
; i<=m+; i++)
{
ret=ret*base%p;
if(mp.count(ret)) return i*m-mp[ret]+cnt;
}
;
}
int main()
{
LL K,D,N,P;
while(cin>>K>>P>>N)
{
LL ans=BSGS(K,N,P);
|| P== || N>=P)
puts("Orz,I can’t find D!");
else
cout<<ans<<endl;
}
}
hdu 2815 : Mod Tree 【扩展BSGS】的更多相关文章
- HDU 2815 Mod Tree (扩展 Baby Step Giant Step )
Mod Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- HDU 2815 Mod Tree 离散对数 扩张Baby Step Giant Step算法
联系:http://acm.hdu.edu.cn/showproblem.php?pid=2815 意甲冠军: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...
- hdu 2815 Mod Tree (exBSGS)
http://acm.hdu.edu.cn/showproblem.php?pid=2815 //解 K^D ≡ N mod P #include<map> #include<cma ...
- hdu 2815 Mod Tree 高次方程,n不为素数
Accepted 406MS 8576K 2379 B C++/** 这里加了一点限制,,大体还是一样的,, **/ #include <iostream> #include <cs ...
- HDU 2815 Mod Tree
不会,先搁着…… http://blog.csdn.net/acm_cxlove/article/details/7832197
- BZOJ2480 Spoj3105 Mod 数论 扩展BSGS
原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ2480.html 题目传送门 - BZOJ2480 题意 已知数 $a,p,b$ ,求满足 $a^x≡b ...
- HDU 5513 Efficient Tree
HDU 5513 Efficient Tree 题意 给一个\(N \times M(N \le 800, M \le 7)\)矩形. 已知每个点\((i-1, j)\)和\((i,j-1)\)连边的 ...
- BSGS与扩展BSGS
BSGS \(BSGS\)算法又称大步小步\((Baby-Step-Giant-Step)\)算法 \(BSGS\)算法主要用于解以下同余方程 \[A^x\equiv B(mod\ p)\]其中\(( ...
- POJ 3243 // HDU 2815(改下输出,加个判断)
A^x = B (mod C) 的模板题,不够要用扩展BSGS (虽然AC,但完全理解不了模板0.0,以后学好数学在来慢慢理解555555) #include <iostream> #in ...
随机推荐
- kubenetes-rancher多集群管理(二十二)
概述 Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器. Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持. K ...
- Oracle OLAP
w 国产商业智能 BI 这 20 年(1997-2017)| 天善智能 http://mp.weixin.qq.com/s/VJURX2qhmL0Uj1dctMyEig 1997-2001年,萌芽阶 ...
- 三十五、robotframework中怎么将100转化成100.00
1.将100转化成100.00
- 002-localStorage和sessionStorage操作
一.概述 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 一直存在除非用户手动清除缓存;是基于域的,任何该域下的所有页面都可访问localSto ...
- free pascal 修改字符集,会导致 dos 不能显示 汉字。 处理方法如下
http://www.cnblogs.com/yjken/p/3917932.html 让windows系统的DOS窗口也可以显示utf8字符集 C:\Users\Administrator> ...
- vue --》watch 深度监听的优化。
话不多说,直接上代码,注释很清楚 <template> <div> <input type="text" v-model="value&qu ...
- 剑指Offer编程题(Java实现)——数组中的重复数字
题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...
- poj-2516.minimum cost(k次费用流)
Minimum Cost Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 19883 Accepted: 7055 Des ...
- Kosaraju算法 有向图的强连通分量
有向图的强连通分量即,在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected).如果有向图G的每两个顶点都强连通,称G是一个强连通图.非强连通图有向图的极 ...
- java synchronized实现可见性对比volatile
问题: 大家可以先看看这个问题,看看这个是否有问题呢? 那里有问题呢? public class ThreadSafeCache { int result; public int getResult( ...