摘要:
复杂度:O(n*α(n)) 其中α(x),对于x=宇宙中原子数之和,α(x)不大于4 。(对于nocow里的复杂度我也是醉了)概要:并查集就是一个数组和一行话。应用:图的连通、集合操作、生成树的合并等技巧及注意:并查集是个好东西。维护区间+前缀和:对于一些连续的区间,我们要判断这些区间是否合法,带修... 阅读全文
摘要:
概要:最短路是个神奇的东西,通过三角不等式,我们可以拓展出很多最短路的延伸。而求最短路的算法一般我用三种,dijkstra、spfa、floyd,第一个用于点少边多的,第一个用于点多边少的,第三个是多源最短路。应用:差分约束系统、一般约束条件、最短路等。技巧及注意:差分约束:根据三角不等式d(v)0... 阅读全文
摘要:
算法:最小生成树的算法有:Prim(O(nlgn)),Kruskal(O(nlg**n)),Prim在某些场合很好用,某些场合必须用。。。Kruskal的话最快。。技巧及应用:当看到要求连通一个图的最小代价,显然最小生成树,例如【BZOJ】1601: [Usaco2008 Oct]灌水(kruska... 阅读全文
摘要:
概要:在一些递推式中,我们发现好像不能在优化了(例如斐波那契数列普通递推是O(n)的),但是这个特殊的递推式我们可以用矩阵来实现O(logn)(忽略了矩阵自身计算的O(n^3))。而矩阵乘法运算是a[i, k]*b[k, j]=c[i, j],从这个式子可看出朴素是n^3的(当然那些神算法我不会),... 阅读全文