当前位置: 首页 > news >正文

书店网站怎么做顺德建设网站

书店网站怎么做,顺德建设网站,wordpress 域名映射,什么是响应式设计众所周知#xff0c;北上广深是中国非常一线的城市#xff0c;北京是首都#xff0c;地处…… 正片开始#xff01; 一、BSGS基础算法 实现目标#xff1a; A x ≡ B ( m o d P ) , ( gcd ⁡ ( P , A ) 1 ) A^x\equiv B(\mod P),(\gcd(P,A)1) Ax≡B(modP),(gcd(P,A)1)…众所周知北上广深是中国非常一线的城市北京是首都地处…… 正片开始 一、BSGS基础算法 实现目标 A x ≡ B ( m o d P ) , ( gcd ⁡ ( P , A ) 1 ) A^x\equiv B(\mod P),(\gcd(P,A)1) Ax≡B(modP),(gcd(P,A)1)求最小的 x x x 很明显如果暴力枚举时间是 O ( P ) O(P) O(P)的只要题目数据范围大就死定了。愿意的人欢迎尝试无100警告 于是考虑 ~  莫队 ~~~~~~~~~~~~~~~~                 分块 ~~~~~~~~~~~~~~~~                 BSGS 为什么我要提前两个 因为BSGS本质就是分块 简单讲解一下就是将本来 P P P种情况平均分成了$\sqrt p $份对每份内进行预处理 不直观好那就用直观的式子吧 令 x k p − t \texttt{令}xk\sqrt p-t 令xkp ​−t 即 A k p ≡ A t B ( m o d p ) \texttt{即}A^{k\sqrt p}\equiv A^tB (\mod p) 即Akp ​≡AtB(modp) 于是找个哈希表维护一下后面的即可 IO::pinyzp; gp_hash_tableint,int ht; int f,s; bool flg; ht.clear(); fceil(sqrt(p)); s1; flg1; for(int i1; if; i)s1ll*s*y%p,ht[1ll*z*s%p]i; for(int j1,ks; jf; j) {if(ht[k]flg) {wt(((1ll*j*f-ht[k])%pp)%p,\n);flg0;}k(1ll*s*k)%p;}if(flg)puts(Orz, I cannot find x!);附赠模板代码 #pragma GCC optimize(1,inline,Ofast) #pragma GCC optimize(2,inline,Ofast) #pragma GCC optimize(3,inline,Ofast) #includebits/stdc.h #includebits/extc.h using namespace std; using namespace __gnu_cxx; using namespace __gnu_pbds; namespace IO {class input {private:bool isdigit(char c) {return (0cc9);}public:input operator(int x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(short x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(bool x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(long x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(long long x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(__int128 x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(unsigned int x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(unsigned short x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(unsigned long x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(unsigned long long x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(unsigned __int128 x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))x(x1)(x3)(c^48),cgetchar();if(!y)x-x;return *this;}input operator(double x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))xx*10(c^48),cgetchar();if(!y)x-x;if(!isdigit(c))if(c!.)return *this;double z1;while(isdigit(c))z/10.,xxz*(c^48),getchar();return *this;}input operator(long double x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))xx*10(c^48),cgetchar();if(!y)x-x;if(!isdigit(c))if(c!.)return *this;double z1;while(isdigit(c))z/10.,xxz*(c^48),cgetchar();return *this;}input operator(float x) {x0;bool y1;char cgetchar();while(!isdigit(c))y(c!-),cgetchar();while(isdigit(c))xx*10(c^48),cgetchar();if(!y)x-x;if(!isdigit(c))if(c!.)return *this;double z1;while(isdigit(c))z/10.,xxz*(c^48),cgetchar();return *this;}input operator(std::string x) {char cgetchar();x.clear();while(!(c! c!\nc! c!EOFc))cgetchar();while(c! c!\nc! c!EOFc) {x.push_back(c);cgetchar();}return *this;}input operator(char *x) {char cgetchar();int cnt0;while(!(c! c!\nc! c!EOFc))cgetchar();while(c! c!\nc! c!EOFc) {x[cnt]c;cgetchar();}return *this;}input operator(char x) {xgetchar();return *this;}} pin; }; inline void wt(char ch) {putchar(ch); } templateclass T inline void wt(T x) {static char ch[40];int p0;if(x0)putchar(-),x-x;doch[p](x%10)^48,x/10;while(x);while(p)putchar(ch[p--]); } templateclass T,class... U inline void wt(T x,U ...t) {wt(x),wt(t...); } #define int long long #define rep(i,a,b) for(int ia,i##endb;ii##end;i) #define frep(i,a,b) for(int ia,i##endb;ii##end;i--) #define lqrep(i,a,v) for(int ihd[a],ve[i].v;ii##end;ie[i].nxt,ve[i].v) const int N1e57; main() { } //目前快速输出pout还未搞定哦到此就结束了吗 当然不是 如果没有 gcd ⁡ ( P , A ) 1 \gcd(P,A)1 gcd(P,A)1的话前面的一切都成了一纸空文 那该如何 如果不需要的旅客们可以摆烂了以下是扩展板 二、BSGS基础算法 不妨设 gcd ⁡ ( P , A ) d \gcd(P,A)d gcd(P,A)d A x ≡ B ( m o d P ) − ( A ′ × d ) x ≡ B ′ × d ( m o d P ) − ( A ′ × d ) x − 1 ≡ B ′ ∗ A ′ − 1 ( m o d P ) A^x\equiv B(\mod P)-\\(A\times d)^x\equiv B\times d(\mod P)-\\(A\times d)^{x-1}\equiv B*A^{-1}(\mod P) Ax≡B(modP)−(A′×d)x≡B′×d(modP)−(A′×d)x−1≡B′∗A′−1(modP) 接着按上文求解即可
http://www.huolong8.cn/news/349447/

相关文章:

  • 做贸易要看什么网站网站外链建设书籍
  • 清远网站推广优化公司做网站需要多久
  • 人才网站查询档案企业网站规划与开发
  • 网络企业做网站徐州市建设局官方网站
  • win2008的iis7建网站流程房产网站系统哪个好
  • 温江 网站建设快递网站模版
  • 快递系统专注快递企业网站开发长沙网站推广排名优化
  • 河北农业建设信息网站营销网站建设的公司
  • 定州市住房保障和城乡建设局网站网站有风险提示怎么办
  • 建设一个网站需要什么技术指标中太建设集团网站
  • 深圳市建设工程质量检测中心网站编程开源网站
  • 网站建设项目验收方案彩票网站的建设
  • 2017湖北建设教育协会网站wordpress太强大
  • 怎么做电影流量网站网站关键词如何布局
  • 中国站免费推广入口wordpress 功能 删除
  • custed谁做的网站开网店怎么卖到外国
  • 门户网站服务范围简述网站建设方法
  • 做网站需要跟客户了解什么网站建设合同技术开发合同
  • 太原免费网站建站模板网站建设流程有几个阶段
  • 网站备案每年一次吗名医工作室 网站建设
  • 安徽城乡建设厅官方网站福州做网站的公司电话
  • 网站建站公司哪家价钱合理网站整体设计
  • 建设银行积分网站wordpress 时间代码
  • 如何通过域名访问网站网站开发 定制 多少 钱
  • 网站备案是什么建工教育网校官方网站
  • 网站建站系统有哪些益阳市住房和建设局 网站
  • 高校网站群建设免费建设小说网站
  • 做代金券的网站wordpress站点搬家
  • 如何做响应式布局网站网络营销策划推广公司招聘
  • 如何用天地图做网站兰州门户网站建设