模板
Posted DReamLion
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板相关的知识,希望对你有一定的参考价值。
快读快写
/*快读*/
template<typename T>
inline void read(T &x){
x=0; bool flag=0; char c=getchar();
for(;!isdigit(c);c=getchar()) if(c==\'-\') flag=1;
for(;isdigit(c);c=getchar()) x=x*10+(c^48);
if(flag) x=-x;
}
/*快写*/
template<typename F>
inline void write(F x, char ed = \'\\n\'){
static short st[30];short tp=0;
if(x<0) putchar(\'-\'),x=-x;
do st[++tp]=x%10,x/=10; while(x);
while(tp) putchar(\'0\'|st[tp--]);
putchar(ed);
}
快速幂
int qpow(int a,int b,int p){
int res=1;
for(;b;b>>=1,a=(long long)a*a%p) if(b&1) res=(long long)res*a%p;
return res%p;
}
龟速乘
ll qmul(ll a,ll b,ll p){
ll res=0;
for(;b;b>>=1,a=(a+a)%p) if(b&1) res=(res+a)%p;
return res%p;
}
快速乘
cin>>a>>b>>mod;
cout<<((a*b-(long long)((long double)a*b/mod)*mod+mod)%mod);
以上是关于模板的主要内容,如果未能解决你的问题,请参考以下文章