Forever you~
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

后缀自动机学习笔记

写在前面 推荐hihocoder上的讲解,可以说是十分清楚了。 用好后缀自动机不是十分容易,但看完本文的总结应该能至少达到签到水平…
2018-08-18
算法学习
#后缀自动机

多维快速傅里叶变换

以下内容摘自《算法导论》思考题30-3 我们可以将一维离散傅里叶变换推广到d维上,这时输入是一个d维的数组A=(aj1,j2,…,jd)A=(a_{j_1,j_2,\dots,j_d})A=(aj1​,j2​,…,jd​​),维数分别为n1,n2,…,ndn_1,n_2,\dots,n_dn1​,n2​,…,nd​,其中n1n2…nd=nn_1n_2\dots n_d=nn1​n2​…nd​=n。
2018-05-21
算法学习
#fft

快速傅里叶变换学习笔记

一、写在前面 最近数字图像处理课正在学快速傅里叶变换,发现自己对此理解的还不是很到位。于是借此机会,对照着《算法导论》,对这部分内容啃一啃。 两个nnn次多项式相加的最直接方法所需的时间是O(n)O(n)O(n),但是相乘的最直接方法所需的时间为O(n2)O(n^2)O(n2)。用快速傅里叶变换(Fast Fourier Transform,FFT)可以使多项式相乘的时间复杂度降低为O(nlogn
2018-05-09
算法学习
#fft

莫队算法总结

写在前面 莫队算法用于离线解决一类区间问题。 普通莫队 如果我们已知查询为区间[l,r][l,r][l,r]的答案,并且能在O(1)O(1)O(1)的时间内通过添加或删除一个元素得到[l−1,r],[l+1,r],[l,r−1],[l,r+1][l-1,r],[l+1,r],[l,r-1],[l,r+1][l−1,r],[l+1,r],[l,r−1],[l,r+1]的答案,那么就可以考虑使用莫队
2018-05-03
算法学习
#莫队算法

正则表达式

写在前面 写这篇文章的初衷是解决一些简单的字符串模拟题目,对于特定的某些题目,有时候用C++11的正则表达式会方便很多。 本文主要总结一下常见的一些正则表达式写法,以及如何使用C++11的regex库,最后以几个具体题目举例。 总的来说,正则表达式最简单的应用是判断一个字符串中是否包含特定字符串。正则表达式是一种文本模式,由普通字符和元字符组成。 常用的元字符 . 匹配除 \n 之外的任何单个
2018-04-25
算法学习
#regex

树链剖分

简单回顾一下树链剖分(以下摘自2009年漆子超的论文《分治算法在树的路径问题中的应用 》): 定义: 将树中的边分为两类:轻边和重边。 记Size(U)Size(U)Size(U)表示以UUU为根的子树的结点个数。 令VVV为UUU的儿子中Size(V)Size(V)Size(V)最大的一个,那么我们称边(U,V)(U,V)(U,V)为重边,其余边为轻边。 我们称某条路径为重路径,当且仅当它全
2018-04-24
算法学习
#树链剖分
1234

搜索

Hexo Fluid