沟槽的组合变形
给定数
多测,
忽略
原式即
二项式定理
时间复杂度
#include<bits/stdc++.h> #define ll long long #define N 2000010 using namespace std; ll read(){ ll x=0,w=1;char ch=getchar(); while(!isdigit(ch)){if(ch=='-')w=-1;ch=getchar();} while(isdigit(ch))x=(x<<3)+(x<<1)+(ch^48),ch=getchar(); return x*w; } ll p,m; ll mul(ll x,ll y){ return (__int128)x*y%p; } ll qpow(ll k,ll b){ ll ret=1; while(b){ if(b&1)ret=mul(ret,k); k=mul(k,k),b>>=1; } return ret; } void solve(){ p=read(),m=read(); if(p==2ll)return puts("1"),void(); ll t=((1ll-4ll*m)%p+p)%p; printf("%lld\n",qpow(t,(p-1ll)/2)); } int main(){ int T=read(); while(T--)solve(); return 0; }
本文作者:SE の 摆烂窝
本文链接:https://www.cnblogs.com/SError0819/p/18423387
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步