算法
箜瑟_qi
这个作者很懒,什么都没留下…
展开
-
二分推进算法
序: 二分搜索是很常见的一种算法,用来在有序序列中寻找某数(或者小于大于它的最*值的某数)。 二分答案也比较常见,估算出答案范围后二分缩小范围逼近答案。 二分推进与二分答案很像,不同之处是二分推进并非得到答案的范围,而是通过缩小答案对应的数据的范围,逼近答案对应的数据(通常求最值)…举个例子: 平面上有n个点,已知每个点的坐标。求一个点m(x,y),使得m与其他所有点的距离和最短。(x,y的原创 2017-04-29 23:48:38 · 450 阅读 · 0 评论 -
最大流算法之ISAP
序: 在之前的博文中,我解释了关于最大流的EK与Dinic算法,以及它们的STL/非STL的实现(其实没什么区别)。本次讲解的是ISAP算法。‘I’,指 inproved,也就是说ISAP其实是SAP算法的改进。目前没有官方名称。经过测试,ISAP的效率在洛谷的板子题中远胜于EK和Dinic的,速度大概是它们的2-3倍。代码量实际上并没有多大变化,在20行读入优化与不压行的情况下(即下文代码),2原创 2017-04-30 23:22:37 · 697 阅读 · 2 评论 -
O(nlogn)实现LCS与LIS
序: LIS与LCS分别是求一个序列的最长不下降序列序列与两个序列的最长公共子序列。 朴素法都可以以O(n^2)实现。 LCS借助LIS实现O(nlogn)的复杂度,而LIS则是通过二分搜索将复杂度从n^2中的朴素查找导致的n降至logn使之整体达到O(nlogn)的复杂度。 具体解析: http://www.cnblogs.com/waytofall/archive/2012/09/10原创 2017-04-26 09:00:24 · 667 阅读 · 0 评论