- 博客(6)
- 资源 (3)
- 收藏
- 关注
转载 快速求正整数次幂
快速求正整数次幂,当然不能直接死乘。举个例子:3 ^ 999 = 3 * 3 * 3 * … * 3直接乘要做998次乘法。但事实上可以这样做,先求出2^k次幂:3 ^ 2 = 3 * 33 ^ 4 = (3 ^ 2) * (3 ^ 2)3 ^ 8 = (3 ^ 4) * (3 ^ 4)3 ^ 16 = (3 ^ 8) * (3 ^ 8)3 ^ 32 = (3 ^ 16
2015-03-15 02:58:39 1275
转载 优先队列priority_queue 使用方法
优先队列(priority_queue) 优先级队列 是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。 首先它是一个队列,但是它强调了“优先”二字,所以,已经不能算是一般意义上的队列了,它的“优先”意指取队首元素时,有一定的选择性,即根据元素的属性选择某一项值最优的出队~ 关于priority_queue1,关于STL中的prio
2015-03-11 23:36:04 532
转载 Manacher算法:求解最长回文字符串,时间复杂度为O(N)
回文串定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文子串,顾名思义,即字符串中满足回文性质的子串。经常有一些题目围绕回文子串进行讨论,比如POJ3974最长回文,求最长回文子串的长度。朴素算法是依次以每一个字符为中心向两侧进行扩展,显然这个复杂度是O(N^2)的,关于字符串的题目常用的算法有KMP、后缀数组、AC 自动机,这道题目
2015-03-11 22:49:27 515
转载 最长上升子序列LIS算法实现
LIS(Longest Increasing Subsequence)最长上升(不下降)子序列,有两种算法复杂度为O(n*logn)和O(n^2)。在上述算法中,若使用朴素的顺序查找在D1..Dlen查找,由于共有O(n)个元素需要计算,每次计算时的复杂度是O(n),则整个算法的时间复杂度为O(n^2),与原来算法相比没有任何进步。但是由于D的特点(2),在D中查找时,可以使用二分查找高效地完成,
2015-03-10 01:09:33 584
转载 C++ floor函数 截断符点数小数部分
函数原型:1 double floor ( double x );2 float floor ( float x );3 long double floor ( long double x );2、功能:返回一个小于传入参数的最大整数3、参数:x为将来被处理的数4、返回值:返回不大于x的最大整数5、注在C语言中只有double一个原型6、示
2015-03-10 00:58:26 2918
转载 计算几何-多边形的重心
1. 1 累加和求重心设平面上有N 个离散数据点( xi , yi ) ( i = 1, 2, ., n) , 其多边形重心G( . x1, . y1) 为: 这是求多边形最简单直观的方法。可以直接利用离散数据点的x, y坐标就能求图形重心。但是缺陷在于没有对离散数据点所围图形做任何处理和分析,精度不够。1. 2 算法一:在讲该算法时,先要明白下面几个
2015-03-09 16:02:41 911
NYOJ题目 离线版
2015-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人