把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

随笔分类 -  算法学习

摘要:$Tarjan$是一个著名的将强连通分量缩点的算法。它的大致思路就是在图上每个联通块中任意选一个点开始进行$Tarjan$操作。 阅读全文
posted @ 2018-10-28 21:51 TheLostWeak 阅读(345) 评论(0) 推荐(0) 编辑
摘要:网络流这个算法我一直都很想学,但是一直都没能学会,最近又花了一些时间去理解了一遍,才总算勉强弄懂了如何用$Dinic$算法去求最大流。 阅读全文
posted @ 2018-10-28 21:43 TheLostWeak 阅读(996) 评论(0) 推荐(0) 编辑
摘要:扫描线应该是一个很有用的算法。它有许多用途,比较经典的应该就是用来求矩形面积并。 阅读全文
posted @ 2018-10-28 21:32 TheLostWeak 阅读(1768) 评论(0) 推荐(2) 编辑
摘要:在一些复杂的博弈论题目中,每一轮操作都可能有许多决策,于是就会形成一棵庞大的博弈树。而有一些博弈论题没有什么规律,针对这样的问题,我们就需要用一些十分玄学的算法。例如对抗搜索。 阅读全文
posted @ 2018-10-28 20:28 TheLostWeak 阅读(2838) 评论(1) 推荐(3) 编辑
摘要:看到那种给你两个数,让你求这两个数之间符合条件的数的个数,且这两个数非常大,这样的题目一般就是数位$DP$题。数位$DP$一般都用于计数。 阅读全文
posted @ 2018-10-28 17:20 TheLostWeak 阅读(152) 评论(0) 推荐(0) 编辑
摘要:树形$DP$,顾名思义,就是在树上操作的$DP$,一般可以用$f_i$表示以编号为$i$的节点为根的子树中的最优解。转移的时候一般都将信息由子节点转移到父亲节点,也就是将信息从下往上转移。因此,一般树形$DP$都会采用递归的形式。 阅读全文
posted @ 2018-10-28 17:18 TheLostWeak 阅读(335) 评论(0) 推荐(1) 编辑
摘要:状压$DP$应该是一个比较玄学的东西。由于它的时间复杂度是指数级的(但也足以吊锤$DFS$),所以状压$DP$题的数据范围一般都巨小。 阅读全文
posted @ 2018-10-28 17:15 TheLostWeak 阅读(255) 评论(0) 推荐(1) 编辑
摘要:本篇文章主要讲述一些关于位运算的简单变换操作。 阅读全文
posted @ 2018-10-28 16:26 TheLostWeak 阅读(196) 评论(1) 推荐(1) 编辑
摘要:位运算,是程序设计的一个重要领域,将数字转化为二进制之后再按位进行运算,效率高,是编程的一个重点知识。 阅读全文
posted @ 2018-10-28 16:23 TheLostWeak 阅读(440) 评论(1) 推荐(1) 编辑
摘要:$Manacher$算法,又称马拉车算法,是解决回文问题的利器,在字符串题中也非常常用。最重要的是,它是个简单易懂的算法。 阅读全文
posted @ 2018-10-28 15:59 TheLostWeak 阅读(246) 评论(0) 推荐(0) 编辑
摘要:在我的心目中,点分治是一个非常难的算法,但在解决一些树上问题时也非常实用。为此,我特地去学了学点分治这个高深的算法。 阅读全文
posted @ 2018-10-28 15:54 TheLostWeak 阅读(255) 评论(0) 推荐(0) 编辑
摘要:$WQS$二分听起来是个很难的算法,其实学起来也并不是那么难。 阅读全文
posted @ 2018-10-28 15:51 TheLostWeak 阅读(706) 评论(0) 推荐(0) 编辑
摘要:$KD-Tree$是一个十分神奇的东西,其实本质上类似于一个$K$维的二叉搜索树。 阅读全文
posted @ 2018-10-28 15:48 TheLostWeak 阅读(422) 评论(0) 推荐(0) 编辑
摘要:树套树是一个十分神奇的算法,种类也有很多:像什么树状数组套主席树、树状数组套值域线段树、$zkw$线段树套$vector$等等。不过,像我这么弱,当然只会最经典的 线段树套$Treap$啦。 阅读全文
posted @ 2018-10-28 15:34 TheLostWeak 阅读(432) 评论(0) 推荐(0) 编辑
摘要:$Splay$是平衡树中的一种,除了平衡树所共有的作用之外,它还可以维护区间翻转,这也是它能成为$LCT$辅助树的原因(不过$LCT$并不是这篇博客所探讨的内容)。 阅读全文
posted @ 2018-10-28 15:32 TheLostWeak 阅读(2324) 评论(1) 推荐(2) 编辑
摘要:$Treap$这个名字真的挺有内涵:$\color{red}{Tree}$+$\color{blue}{Heap}$=$\color{red}{Tre}$+$\color{blue}{eap}$=$\color{red}{Tr}\color{purple}{e}\color{blue}{ap}$这很形象地告诉了我们:$Treap$是$Tree$(二叉搜索树)与$Heap$(堆)的结合体,这也是$Treap$能够平衡的关键。 阅读全文
posted @ 2018-10-28 15:28 TheLostWeak 阅读(828) 评论(0) 推荐(3) 编辑
摘要:替罪羊树可以当作一棵非常暴力的二叉搜索树,因为它除了在子树不平衡时会暴力重构(不然为什么叫它平衡树)以外几乎和BST没有任何区别。 阅读全文
posted @ 2018-10-28 15:23 TheLostWeak 阅读(1683) 评论(0) 推荐(6) 编辑
摘要:二叉搜索树(Binary Search Tree),简称BST,用于在一个集合中查找元素。 阅读全文
posted @ 2018-10-28 15:18 TheLostWeak 阅读(455) 评论(0) 推荐(0) 编辑
摘要:某些奆佬也称其为拔(Ba)山(Shan)盖(Gai)世(Shi)算法。它的主要作用是求解形式如$x^t\equiv y(mod\ MOD)$的式子中$t$的值。 阅读全文
posted @ 2018-10-28 15:04 TheLostWeak 阅读(379) 评论(0) 推荐(0) 编辑
摘要:那些各种各样的性质与定理,大多是前人几年甚至几十年才得出来的,哪里是你几天就能理解并证明的。 阅读全文
posted @ 2018-10-28 14:54 TheLostWeak 阅读(1040) 评论(0) 推荐(2) 编辑