12 2015 档案
摘要:最长递增子序列(LIS) 给出一个序列,找出其中最长的增长序列。 法一:将此序列排序形成一个新序列,求新序列和原序列的最长公共子序列(O(n2)) 法二:引入一个数组,用于记录所有长度为n的递增子序列中最小的末尾数 ,然后遍历的时候就可以用二分查找。 最长公共子串(LCS) 找两个字符串的最长公共子
阅读全文
摘要:经典问题一:求n个点围成的多边形的面积对于凸多边形,很容易计算,如下图,以多边形的某一点为顶点,将其划分成几个三角形,计算这些三角形的面积,然后加起来即可。已知三角形顶点坐标,三角形面积可以利用向量的叉乘来计算。对于凹多边形,如果还是按照上述方法划分成三角形,如下图,多边形的面积 = S_ABC +...
阅读全文
摘要:1:快速幂 问题如下: 求 a^n % m 的值是多少?n是1到10^18次方的一个整数。 求一个数的n次方,朴素的算法就是直接for循环,O(N)的复杂度。 但是对于这个问题n实在是太大了,O(N)也会超时,那么需要更快的算法,快速幂算法。 要求 a^n,如果知道了 a^(n/2) 次方的话,再来
阅读全文
摘要:经典问题一:最大连续子段和问题原文借鉴 风仲达 :http://blog.csdn.net/liufeng_king/article/details/8632430(给自己看的,抄一下也没问题吧~~~)问题: 给出一段数字,假设有n个,有正有负,要你求最大的连续字段和。如:(-2,11,-4,13,...
阅读全文

浙公网安备 33010602011771号