2020.05.09 北方大学ACM多校训练赛第四场 pro:1/2/6
2020.05.10 北方大学ACM多校训练赛第五场 pro:0/0/6
cf round 639 div 1
由于网络条件问题不能进行实时比赛(真的每次一到比赛时间就血卡,白天都挺好)
摸了
自平衡二叉查找树orz
其实这一周和上一周也有打cf的比赛,但是和上学期线上训练比赛一样,由于我会的算法太少导致只会前1-2题或者都不会,因此一段时间内我会专注于学习算法。
学了一点数学的东西。(几乎是从头学起,不过我觉得值得推荐,以后做点厉害的)
从每个素数出发,将其倍数都筛掉。
每一个合数会被访问多次;复杂度$O(nloglogn)$。
for(int i=2;i<=maxn;i++) { if(!vist[i]) for(int j=i*i;j<=maxn;j+=i) vist[j]=1; }
对于每一个i,寻找素数使得与i的乘积中该素数为最小因子。由于每一个数的最小因子一定,该数就被唯一地访问。
避免了重复访问;复杂度$O(n)$(?)。
for(int i=2;i<=maxn;i++) { if(!vist[i]) prime[++t]=i; for(int j=1;j<=t&&i*prime[j]<=maxn;j++) { vist[i*prime[j]]=1; if(!(i%prime[j])) break; } }
杜教筛、min_25筛、洲阁筛学到积性函数再补。