Avatar notebook default
11篇文章 · 3041字 · 1人关注
  • 最大公约数 - gcd

    写在前面 最大公约数的求解还是比较常用的板子之一,根据辗转相除法的思想递归操作,可以在O(logN)(其中N为较小的数)的时间完成求两个数最大公...

  • 快速幂

    写在前面 快速幂说白了就是实现一个Math.pow(),虽然Java的库中有提供计算幂的方法,但是实际使用中很可能会出现溢出的问题或者对答案取模...

  • 拓扑排序

    写在前面 拓扑排序常用于判断有向图是否有环或者获取满足一定先后顺序的图的遍历结果,其核心思路比较简单,就是DFS(深度优先遍历)或者BFS(广度...

  • 字典树

    写在前面 字典树(TireTree),典型应用是用于统计,排序和保存大量的串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优...

  • 最长上升子序列

    写在前面 对于最长上升子序列或者其变种问题,使用O(N^2)复杂度的动态规划(DP)总是比较容易想到的,而本文要提到的板子并不是普通的动态规划(...

  • 二分查找

    写在前面 二分查找算是比较常见而且简单的算法了,在很多需要时间复杂度O(NlogN)的题目中都有使用。本身二分查找并不难写,这里记录一个板子主要...

  • Resize,w 360,h 240
    差分数组

    写在前面 本部分内容借鉴于Young-children[https://home.cnblogs.com/u/young-children/]大...

  • 树状数组与离散化

    用途 树状数组主要用来求解前缀和、区间和、逆序对、区间和的个数和相关求个数的问题等等问题,最重要的是要考虑怎么将题目给的信息转化为一个前缀和,这...

  • 并查集

    用途 并查集包含合并、查询两种操作,可以接近O(1)的复杂度判断两个元素是否属于同一个集合,通常在最小生成树、查看两个元素是否属于同一个集合(图...

文集作者