算法竞赛进阶指南
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 · 103 阅读 · 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 · 222 阅读 · 0 评论