一些奇怪的但关键时刻派的上用场的算法
Posted iloveori
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一些奇怪的但关键时刻派的上用场的算法相关的知识,希望对你有一定的参考价值。
一些奇怪的但关键时刻派的上用场的算法
龟速乘
介绍
能有效防止运算时爆long long的一种神奇的算法。
直接背就好,常用。
代码
ll ksc(ll a, ll b, ll mod){
ll ans = 0;
for(;b; b >>= 1, a = (a + a) % mod)
if(b&1) ans = (ans + a) % mod;
return ans;
}
快速乘
介绍
这个东西最初我感觉很不靠谱,但它就是能算出来正确答案。它就是用 (long double)来进行优化取模运算。
代码
inline ll ksc(ll x,ll y,ll p){
ll z=(ld)x/p*y;
ll res=(ull)x*y-(ull)z*p;
return (res+p)%p;
}
这里先挖个坑:光速幂
以上是关于一些奇怪的但关键时刻派的上用场的算法的主要内容,如果未能解决你的问题,请参考以下文章
使用制服时 Xamarin OpenGL 片段着色器的奇怪行为