- 博客(11)
- 收藏
- 关注
原创 LCS、LIS、LCIS 与动态规划
话说LCS有O(n*m)的算法,LIS也有O(n*m)的算法;XX日,LIS被栈和二分优化了,复杂度变为了nlogn,于是n排列的LCS也被优化了,也达到了nlogn.nlogn的LCS:设有序列A,B。记序列A中各个元素在B 中的位置,用序列C存,求C的LIS即可。LCS与LIS结合,于是有了LCIS,LCIS有n*m的算法。代码如下:for i:=1 to n do begin t:=...
2011-10-31 20:40:57 709
转载 三分法求解凸函数的最值
转了牛人的: 二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值。但当函数是凸性函数时,二分法就无法适用,这时三分法就可以“大显身手”~~ 如图,类似二分的定义Left和Right,mid = (Left + Right) / 2,midmid = (mid + Right) / 2; 如果mid靠近极值点,则Right = midmid;否则(即midmid靠近极值点)...
2011-10-30 15:49:17 2925 2
原创 树的直径与树的中心
1. 树的直径概念:树中的最长路。求法:两次深搜或DP。1-两次深搜:任找一点A为源点,深搜遍历得到最远点B,这个最远点B必定在直径中(感性想想,以A点为源点找到的最长路后面一段必定属于树的直径的一部分);再以这个最远点B为源点深搜遍历求一个最长路,这个最长路即为树的直径。2-DP:显然最长路的两个端点必然是叶子或者根节点。设f(i)表示到i最远的叶子,g(i)表示到i次远的...
2011-10-29 17:49:22 4035 1
原创 约瑟夫问题
约瑟夫递推公式 问题描述:n个人(编号1~n),从1开始报数,报到m的退出,剩下的人继续从1开始报数。求胜利者的编号。 分析:当m<n时,第一次编号为m的出队,重新报数的顺序为:m+1, m+2, m+3,…… n, 1, 2,……m-1,给他们重新编号为: 1, 2, ...
2011-10-27 22:21:09 618
原创 树状数组总结
Poj上的一些题:1)poj1195 Mobile phones 难度:1题意:给定n*n矩阵,和几种在线操作,包括对某一点(x,y)值修改,查询一个矩形(x1,y1,x2,y2)的元素和。分析:用二维树状数组维护即可。2)poj2299 Ultra-QuickSort 难度:1题意:给你n个不同的数,求逆序对个数。分析:有两种方法:归并排序;树状数组。这里提一下树状数组的方法。倒着处理,每次统计...
2011-10-18 11:04:56 1725
转载 km算法与最佳匹配
KM算法该算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。设顶点Xi的顶标为A[ i ],顶点Yj的顶标为B[ j ],顶点Xi与Yj之间的边权为w[i,j]。在算法执行过程中的任一时刻,对于任一条边(i,j),A[ i ]+B[j]>=w[i,j]始终成立。 KM算法的正确性基于以下定理: 若由二分图中所有满足A[ i ]+B[j]...
2011-10-16 15:33:56 2027
原创 poj字符串总结
1)poj1002 难度:1题意:给你一些字母与数字的对应关系,忽略‘-’,求是否有重复的号码,若有重复则输出重复次数(按字典序输出)。分析:先将所有字符串统一为数字串,然后字符串Qsort。2)poj1200 Crazy Search 难度:2题意: 找出不相同的子串数量,字母表大小和子串长度会给定.分析:将n长的字符串转为nc进制的数字(longint能够承受),并用bool数组标记。对于...
2011-10-14 20:37:11 4468
原创 KMP与最小覆盖子串
我对KMP的一些理解(lyp点拨的):pre[i](或next[i])的实质是串str[1..i]的最长且小于i的“相等前、后缀”分别为str[1..pre[i]](前缀)与str[(i-pre[i]+1)..i](后缀),通俗讲就是:使str[1..i]前k个字母与后k个字母相等的最大k值。KMP算法详解可见:http://blog.csdn.net/fjsd155/artic...
2011-10-12 16:53:55 5524
转载 kmp算法详解
转自:Matrix67 如果机房马上要关门了,或者你急着要和MM约会,请直接跳到第六个自然段。 我们这里说的KMP不是拿来放电影的(虽然我很喜欢这个软件),而是一种算法。KMP算法是拿来处理字符串匹配的。换句话说,给你两个字符串,你需要回答,B串是否是A串的
2011-10-11 21:55:32 2576 1
转载 poj2054
Poj2054转了大牛XQZ的……(http://hi.baidu.com/cheezer94/blog/item/d98eca065202a2f237d122da.html)给定一棵N个有权值的节点的有根树(默认根节点编号为1)。每个节点的权值为Ci。现在需要遍历这棵树。每访问到一个点,该点的访问代价为这个点的权值与当前未被访问的点的权值之和。遍历顺序为拓扑序,即访问i时i的父亲...
2011-10-09 12:22:27 1799
原创 贪心总结
经典贪心题:1)旅行家的预算2)节点网络3)求最大得分4)删数问题5)取数游戏6)独木舟7)最大整数8)Radar转换模型—〉贪心求解先算出每个岛在哪个区间范围内建立雷达站能够覆盖到这个岛,按左端点快排。第一个雷达建立在区间的右端,而后一次判断每个区间的左端点,如果在最新建立的雷达右面,那么肯定需要一个雷达,而且也建在区间右端。如果左端点在雷达左面,这个时候要考虑区间的右端在雷达的左面还是右面,如...
2011-10-08 19:22:26 1217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人