随笔分类 - HDU-高级数据结构与算法
来自本科期间的课程算法记录
摘要:
第?课——基于矩阵快速幂的递推解法 由于中间的数论部分我自己学的很差,没有办法写出清晰的博客来,所以这里跳过了数论部分的博客,来到矩阵快速幂。 递推 递推是一个非常常用的工具。比如经典的斐波那契数列: \[f(x)= \left\{ \begin{array}{**lr**} 1 &, 0\leq
阅读全文

摘要:最短路 最短路的算法是学了非常多次的一个算法了,但是这次学到的算是更加全面的一次。以前从数据结构中学到的两种最短路的算法,Dijkstra和Floyd。这两个算法在这篇文章中也会提到,最为最基础的两种最短路算法,后续的算法也都是在他们的基础上展开的。文章的最后,还提到了最短路的一个变种(故切算是?)
阅读全文
摘要:上一节课讲了树状数组,也介绍了树状数组的优点与不足,这里简单回顾一下。 优点:树状数组的代码非常简短,易于实现,被刘老师亲切的称为IO选手的"HelloWorld!",就是因为代码短。 缺点:树状数组的缺点也非常的明显,只能处理单点修改区间查询或者区间修改单点查询的问题(以较高的效率)。而区间修改区
阅读全文
摘要:前缀和算法可以计算某一个区间的累记和,但是出现修改的时候,前缀和的效率便得不到保障。于是数状数组出现了。出现原因总结——需求从单纯的区间查询变为了单点修改 + 区间查询。 树状数组 本文不探讨树状数组的开发过程,这里先给出树状数组的结构: 树状数组的设计非常巧妙,它让下标为 (从1开始)的位
阅读全文