![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
程序模板
文章平均质量分 78
u010152669
这个作者很懒,什么都没留下…
展开
-
KM算法的简单总结 二部图的最大权匹配
我们都知道有最大匹配,但如果说要加上费用,也就是已知每两个匹配的价值,要求出最大价值的匹配。 这个可以用费用流,但KM算法的效率要远远比费用流好。 KM算法有点贪心的思想,是通过不断的放宽费用的流量来实现的,当发现找不到匹配时,就一点点地放宽。 至于最小权,我没有去找过代码。但其实可以把权值取相反数,再求最大权也是一样的。 摘自 百度百科: KM算法求的是完备匹配下的最大权匹配:转载 2013-05-16 07:26:44 · 1130 阅读 · 0 评论 -
动态规划和字符串匹配(KMP、AC自动机)
最近学了关于字符串匹配主要的两种方法,做了一些题目,发现这可以动态规划结合,题目中往往有“……T是S的子串……”这类字眼,而且答案要求“最少、最多、多少种”一类的问题。 解决这类问题往往是要记录一个“匹配到哪一位”的状态,然后考虑当前状态可以更新哪些新的状态,下面列举两道题目: KMP 有两个字符串S和T(1 ≤ |S| ≤10000, 1 ≤ |T| ≤ 1000),问题是至原创 2013-04-17 19:12:01 · 1038 阅读 · 0 评论 -
网络流dinic算法
遇到过不少网络流的题目,直接找增广路径的方法时间复杂度实在受不了。常面临TLE的问题。通过学习这个dinic算法,不仅代码短,效率也高。 该算法的重点在于一个层次图,是在普通增广的方法上加了优化,普通的增广是每次在图上四处游荡,直到找到汇点为止。dinic算法就是把每个点都给一个等级level,把它们分在不同的层次之中,对于点u,v只有满足level(v) = level(u) + 1,才能通过原创 2013-07-23 11:19:08 · 820 阅读 · 0 评论 -
树链剖分
链可以看做是一种特殊的树,当一棵树退化成了链,某些问题就变得容易解决,也有很多数据结构支持这样那样的操作,线段树就是其中一种。从而我们可以想象,能否把一棵树也分成很多条链,从而来解决一些问题呢?原创 2013-07-22 09:27:31 · 844 阅读 · 0 评论