一、概念:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子...
分类:
Web程序 时间:
2014-08-04 21:31:58
阅读次数:
300
知识点:数学函数头文件 #include 开平方函数,sqrt()注意等号 == 与赋值号= 的区别内容: 求一元二次方程(二次项系统不为0)ax2+bx+c=0(a≠0)的实数根输入说明:一行三个系数(用空格隔开)输出说明:先输出(-b+sqrt())/2/a的根,一行一个,如果是相等实根,则输出...
分类:
其他好文 时间:
2014-08-04 10:33:17
阅读次数:
313
HDU 4001 To Miss Our Children Time (动态规划)
题目大意:
有n块砖头,每块砖头有长,宽,高和型号,问你最多建多高?
型号0的特点是:长度>=它下面砖头的长度 且 宽度>=它下面砖头的宽度
型号1的特点是:长度>=它下面砖头的长度 且 宽度>=它下面砖头的宽度 且 面积>=它下面砖头的面积
型号2的特点是:长度>它下面砖头的长度 且 宽度>它下面砖头的宽度
解题思路:
先排好序,排序方法贪心的方法,先按长后按宽从小到大排,如果长宽相等就按照型号从大到小排,如果再相等,...
分类:
其他好文 时间:
2014-08-03 23:18:16
阅读次数:
373
关于理解指针数组,数组指针,数组名,二维数组的一些技巧。/*************关于数组名***************/int a[3] = {1, 2, 3}1.数组名代表数组第一个元素的地址,注意,不是数组地址(虽然值相等),是数组第一个元素地址,a 等同于 &a[0];a+1是第二个元素...
分类:
其他好文 时间:
2014-08-03 20:17:55
阅读次数:
195
题意:
有n个数,从n个数中选出两个集合s和集合t,保证原序列中,集合s中的元素都在
集合t中元素的左边。且要求集合s中元素做抑或运算的值与集合t中元素做与运算的
值相等。问能选出多少种这样的集合s和t。
算法:
左右dp。
用dp[i][j]表示前i个数 做抑或运算得到j的方法数。最后一个值取不取到都不一定。
故为背包的问题。右边也是一样。
枚举时可能出现重复。枚举到第i...
分类:
其他好文 时间:
2014-08-03 18:04:05
阅读次数:
216
1.3.3HSB与RGB之间的互转公式及HSL和HSV对色彩属性理解的异同 首先,HSL和HSV对H的定义一致,公式如下: max=min意味着R,G,B三个值始终相等,只能是白,灰,黑这三类颜色了,色相值在这种情况下没有任何意义,所以让它等于0。然后,HSB模式将色相环等分成三个120度的区间(....
分类:
其他好文 时间:
2014-08-03 17:52:05
阅读次数:
248
1.4.3 用灰度/明度指导色彩搭配
试着只通过调整不等于0的通道,让上一排的色彩在灰度上保持一致,把三个颜色分别代入到心理学公式。得
Gray(red) = r * 0.299
Gray(green) = g * 0.587
Gray(blue) = b * 0.114
让它们灰度相等,则
r * 0.299 = g * 0.587 = b *...
分类:
其他好文 时间:
2014-08-02 18:28:34
阅读次数:
259
问题:将有序链表中的重复元素删除分析:由于有序,所以p结点是否重复只需要和它的前一节点比较是否相等就可以了,我们可以定义一个helper新头结点链表 将p结点与新链表的尾结点比较,若不相等则加入新链表中。class Solution{public: ListNode *deleteDup...
分类:
其他好文 时间:
2014-08-02 17:47:33
阅读次数:
210
给你n个数,问你将数分成两个数组,S,T ,T 中所有元素的需要都比S任意一个大,问你S中所有元素进行 XOR 操作和 T 中所有元素进行 &操作值相等的情况有多少种。
DP背包思路
dpa[i][j][0] 表示从左开始到i,不取i,状态为j的方案数
dpa[i][j][1] 表示从作开始到i,取i,状态为j的方案数
dpb[i][j] 表示从右开始到i,状态为j的方案数
...
分类:
其他好文 时间:
2014-08-02 12:54:13
阅读次数:
231
复制算法,它将堆上的内存分为两个大小相等的区域,一个是空闲区域,一个是活动区域。在程序运行中,实际使用的是活动区域,也就是有50%的空间被浪费掉。 复制算法的实现过程:1.找出活动空间中所有存活的对象。2.将这些存活的对象复制到空闲区域。3.将之前的活动空间清空,然后,就变为空闲空间了,而...
分类:
其他好文 时间:
2014-08-02 12:18:43
阅读次数:
199