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

随笔分类 -  算法学习

摘要:可持久化数组支持单点修改和单点查询。(单点修改和单点查询这种东西不是直接数组就能解决了吗?干嘛要可持久化?)因为要用到历史版本啊! 阅读全文
posted @ 2018-10-29 14:27 TheLostWeak 阅读(215) 评论(0) 推荐(0)
摘要:一直听说$AC$自动机是一个很难很难的算法,而且它不在$NOIP$提高组范围内(这才是关键),所以我一直没去学。最近被一些字符串题坑得太惨,于是下定决心去学$AC$自动机。 阅读全文
posted @ 2018-10-29 08:25 TheLostWeak 阅读(224) 评论(0) 推荐(0)
摘要:差分约束系统应该是一个比较有用的算法。它建立在图的思想上,常与最短(长)路算法一起出现。 阅读全文
posted @ 2018-10-29 08:03 TheLostWeak 阅读(283) 评论(0) 推荐(0)
摘要:二分图匹配的问题应该是比较常见的吧,匈牙利算法就可以在O(nm)的时间复杂度内解决这类问题。 阅读全文
posted @ 2018-10-29 07:55 TheLostWeak 阅读(808) 评论(0) 推荐(0)
摘要:莫队算法,是一个十分优雅的暴。普通的莫队可以轻松解决一些离线问题,但是,当遇上了一些有修改操作的问题,普通莫队就无能为力了。于是,改进后的莫队——带修莫队就这样产生了。 阅读全文
posted @ 2018-10-29 07:49 TheLostWeak 阅读(417) 评论(0) 推荐(0)
摘要:在学习莫队算法之前,我一直以为这是一个很高深的算法。(实际上,它就是一个很高深的算法)这个算法玄学地将分块与暴力两大算法实现了二合一,从而打造出了一个时间复杂度为$O(N\sqrt N)$的求解多个区间询问的离线算法。 阅读全文
posted @ 2018-10-29 07:46 TheLostWeak 阅读(444) 评论(0) 推荐(1)
摘要:求割点和割边建立在$Tarjan$算法的基础之上,因此建议在看这篇博客之前先去学一学$Tarjan$。 阅读全文
posted @ 2018-10-28 22:28 TheLostWeak 阅读(379) 评论(0) 推荐(0)
摘要:$Tarjan$是一个著名的将强连通分量缩点的算法。它的大致思路就是在图上每个联通块中任意选一个点开始进行$Tarjan$操作。 阅读全文
posted @ 2018-10-28 21:51 TheLostWeak 阅读(348) 评论(0) 推荐(0)
摘要:网络流这个算法我一直都很想学,但是一直都没能学会,最近又花了一些时间去理解了一遍,才总算勉强弄懂了如何用$Dinic$算法去求最大流。 阅读全文
posted @ 2018-10-28 21:43 TheLostWeak 阅读(1040) 评论(0) 推荐(0)
摘要:扫描线应该是一个很有用的算法。它有许多用途,比较经典的应该就是用来求矩形面积并。 阅读全文
posted @ 2018-10-28 21:32 TheLostWeak 阅读(2004) 评论(0) 推荐(2)
摘要:在一些复杂的博弈论题目中,每一轮操作都可能有许多决策,于是就会形成一棵庞大的博弈树。而有一些博弈论题没有什么规律,针对这样的问题,我们就需要用一些十分玄学的算法。例如对抗搜索。 阅读全文
posted @ 2018-10-28 20:28 TheLostWeak 阅读(3122) 评论(1) 推荐(4)
摘要:看到那种给你两个数,让你求这两个数之间符合条件的数的个数,且这两个数非常大,这样的题目一般就是数位$DP$题。数位$DP$一般都用于计数。 阅读全文
posted @ 2018-10-28 17:20 TheLostWeak 阅读(167) 评论(0) 推荐(0)
摘要:树形$DP$,顾名思义,就是在树上操作的$DP$,一般可以用$f_i$表示以编号为$i$的节点为根的子树中的最优解。转移的时候一般都将信息由子节点转移到父亲节点,也就是将信息从下往上转移。因此,一般树形$DP$都会采用递归的形式。 阅读全文
posted @ 2018-10-28 17:18 TheLostWeak 阅读(352) 评论(0) 推荐(1)
摘要:状压$DP$应该是一个比较玄学的东西。由于它的时间复杂度是指数级的(但也足以吊锤$DFS$),所以状压$DP$题的数据范围一般都巨小。 阅读全文
posted @ 2018-10-28 17:15 TheLostWeak 阅读(263) 评论(0) 推荐(1)
摘要:本篇文章主要讲述一些关于位运算的简单变换操作。 阅读全文
posted @ 2018-10-28 16:26 TheLostWeak 阅读(204) 评论(1) 推荐(1)
摘要:位运算,是程序设计的一个重要领域,将数字转化为二进制之后再按位进行运算,效率高,是编程的一个重点知识。 阅读全文
posted @ 2018-10-28 16:23 TheLostWeak 阅读(462) 评论(1) 推荐(1)
摘要:$Manacher$算法,又称马拉车算法,是解决回文问题的利器,在字符串题中也非常常用。最重要的是,它是个简单易懂的算法。 阅读全文
posted @ 2018-10-28 15:59 TheLostWeak 阅读(264) 评论(0) 推荐(0)
摘要:在我的心目中,点分治是一个非常难的算法,但在解决一些树上问题时也非常实用。为此,我特地去学了学点分治这个高深的算法。 阅读全文
posted @ 2018-10-28 15:54 TheLostWeak 阅读(272) 评论(0) 推荐(0)
摘要:$WQS$二分听起来是个很难的算法,其实学起来也并不是那么难。 阅读全文
posted @ 2018-10-28 15:51 TheLostWeak 阅读(732) 评论(0) 推荐(0)
摘要:$KD-Tree$是一个十分神奇的东西,其实本质上类似于一个$K$维的二叉搜索树。 阅读全文
posted @ 2018-10-28 15:48 TheLostWeak 阅读(436) 评论(0) 推荐(0)