
算法竞赛进阶指南
DpHard
这个作者很懒,什么都没留下…
展开
-
快速幂时注意的一个小细节
模板 #include<iostream> using namespace std; typedef long long ll; void js(ll a,ll b,ll p) { ll ans=1%p; while(b) { if(b&1) { ans=ans*a%p; } a=a*a%p; b>>=1; } cout<&原创 2020-06-26 17:49:33 · 123 阅读 · 0 评论 -
0x31质数
判定 0-sqrt(n)内看能不能整除。 证明:反证法 筛选 (1)最最朴素想法:每个都判定一下,时间复杂度O(nsqrt(n)) (2)eratosthenes法:接近O(n),比其大一点 对于比n小的质数x 从小到大枚举,x,2x,3x…等都显然不是质数。依次标记。 优化:x…,(x-1)显然已经被前边的筛没了,故每次从x*x开始 (3)线性筛法:O(n) 对于合数例如12=2x6=3x4会被筛2次。 若让每个数只被他的最小质因子筛掉,则显然每个数就只会被处理一次了。这是因为显然一个数不可能有两个最小质原创 2020-05-24 11:17:14 · 249 阅读 · 0 评论