0%

取模

在加减乘除运算结果后,因为最终可能超出数据的表达范围,所以需要进行取模操作,但是有可能在运算中途就已经超出了范围,所以要进行一些运算上的优化

阅读全文 »

排列组合

排列就是指从给定个数的元素中取出指定个数的元素进行排序。
组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。

阅读全文 »

并查集union find/disjoin set

并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。用于解决无向图中的环的问题。

阅读全文 »

最小生成树MST

一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。

阅读全文 »

树状数组BIT

设计目标:给定一个长度为n的数组,实现两个功能

  1. 将第x个数加上k,即单点修改O(logn)
  2. 输出区间[x,y]内每个数的区间和,即区间查询O(logn)
阅读全文 »

快速幂-矩阵快速幂

快速幂就是快速算底数的n次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高

阅读全文 »

字符串哈希

字符串长度过大时导致查找效率较低,将字符串映射成数字能有效提升查找效率

阅读全文 »