摘要:
发现这道题的题解大多都没有详细讲欧拉函数,所以本弱就来详细将讲欧拉函数 欧拉函数是小于$x$的整数中与$x$互质的数的个数,一般用$φ(x)$表示。特殊的,$φ(1)=1$。 如何计算出$1 n$欧拉函数呢? ~~我会GCD暴力枚举!~~ 复杂度$O(n^2logn)$ ~~我会递推~~ 复杂度$O 阅读全文
摘要:
"洛古题面" 对于操作一,用快速幂算即可 代码如下 对于操作二,用拓展欧几里得算法即可。 已知$a,b,n$,求$x$的最小值,使得$a x≡b(mod p)$,可以转化为:$a x+p y=b$,则要求$gcd(a,n)|b$,否则无解。不定方程的求法可以参照 "这道题" $exgcd$代码如下 阅读全文
摘要:
这里介绍最小生成树的两种方法:Prim和Kruskal。 各种Bug于2018 9 27日修复 两者区别:Prim在稠密图中比Kruskal优,在稀疏图中比Kruskal劣。Prim是以更新过的节点的连边找最小值,Kruskal是直接将边排序。 两者其实都是运用贪心的思路 洛谷数据: Prim: 个 阅读全文
摘要:
%你退火,听上去一个十分高级的算法,实际上他只是贪心的一种随机化,他的思想很简单,一般是随机几个数,然后用这几个数来算出答案,并更新答案。 但是,如果只是单纯的随机几个数,那么他的也不会叫做%你退火,所以这个算法也有他自己的奥妙。 %你退火实际上是爬山算法的一种升级版,爬山算法就是要不断的选择更优解 阅读全文