首页 > 编程语言 > 详细

一些奇怪的但关键时刻派的上用场的算法

时间:2020-04-28 00:22:52      阅读:53      评论:0      收藏:0      [点我收藏+]

一些奇怪的但关键时刻派的上用场的算法

龟速乘

介绍

能有效防止运算时爆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;
}

这里先挖个坑:光速幂

一些奇怪的但关键时刻派的上用场的算法

原文:https://www.cnblogs.com/iloveori/p/12790937.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!