一棵AVL树是其每个节点的左子树和右子树的高度最多差1的二叉查找树。实际高度只比logN多以一点,和普通二叉查找树相比,平衡二叉搜索树一般而言搜寻时间可节省25%左右(STL源码剖析P203)。
只有那些从插入点到根节点的路径上的节点的平衡可能被改变,因为只有这些节点的子树可能发生变化。
把需要重新平衡的节点称为a(左右子树高度差大于1)。注意,确定这个节点很重要,否则无法确定...
分类:
其他好文 时间:
2014-05-10 09:57:21
阅读次数:
406
题意:奶牛群有P种问题,每个问题可以在一个月的时间内修复。修复每个问题要付出相应的代价。对于修复第i个问题,修复月开始时候要付出预付Bi,修复完的下个月初要付出Ai。必须按照1-p的顺序修复(可以多个在同一个月修复)。每个月,奶牛们可以产生M的价值,每个月产生的价值只能再下个月使用,不能累计。问最快可以几天完成所有修复。
解法:ans[i][j]表示最后一个月(其实是倒数第二个月)修复了...
分类:
其他好文 时间:
2014-05-10 09:35:04
阅读次数:
455
题意:
给你ABCD四个集合,集合中数的个数都为N(N
当然你可以尝试枚举所有的组合,绝对可以计算出结果,大概有N^4种吧,如果你有足够的时间还是可以算出来的,哈哈。
当然我不是用上面一种方法计算的,那样算肯定超时。 我的做法是求出所有a+b 到ab数组中, 和所有 c+d到cd数组中,然后排序,枚举每个ab,用二分在cd中查找有没有可能组成0。 有个问题就...
分类:
其他好文 时间:
2014-05-10 08:40:14
阅读次数:
278
这是一个常见的经典问题,特别是对于企业或企业管理者而言,时常将其挂在嘴边,有时会有忽悠的成分,真正头脑清醒思路清晰的管理者其实并不多,商业上追求的是用最短的时间最少的成本达到最大的利润,因此搞得大家虽然都很累,但贵为上帝的客户依然不见满意。 民企或私企确实是相当地不容易,夹在很多缝缝里生存,许许多多优质资源都已被别人占据,就那点残羹冷炙还那么多人在分在抢,所幸技术发展迅猛,如今来到了移动互联网时代...
分类:
其他好文 时间:
2014-05-07 08:38:25
阅读次数:
436
verilog设计进阶
时间:2014年5月6日星期二
主要收获:
1.自己动手写了第一个verilog程序。
题目:
利用10M的时钟,设计一个单周期形状如下的周期波形。
思考:
最开始的想法是:定义两个计数器进行计数,两个使能标志位分别控制这两个变量。但是这样逻辑又太复杂,网上搜了搜,还是定义一个计数器比较好。
verilog程序:
modulef...
分类:
其他好文 时间:
2014-05-07 08:32:39
阅读次数:
791
verilog设计进阶
时间:2014年5月6日星期二
主要收获:
1.阻塞赋值与非阻塞赋值;
2.代码测试;
3.组合逻辑电路和时序逻辑电路。
阻塞赋值与非阻塞赋值:
1.阻塞赋值“=”(组合逻辑电路),非阻塞赋值“”(时序逻辑电路);
2.Verilog模块编程的8个原则:
(1) 时序电路建模时,用非阻塞赋值。
(2) 锁存器电路建模时,用非阻塞赋值。
...
分类:
其他好文 时间:
2014-05-07 08:03:50
阅读次数:
317
讲解了JavaScript中各种类型的数据处理,包括数组的使用、JSON类提供的字符串和JS对象相互转换的方法、时间日期类以及正则表达式的创建和使用...
分类:
编程语言 时间:
2014-05-07 07:27:55
阅读次数:
351
接触Trie树是在选拔赛时候遇到一题目,TLE无数次依然无解,赛后发现字符串统计有一利器名曰“字典树”,后来花了一段时间去写Trie.
什么叫Trie树?
Trie树即字典树。
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时...
分类:
其他好文 时间:
2014-05-07 07:05:09
阅读次数:
351
找出一个数组中的三个数,三个数不能组成三角形。
三个数不能组成三角形的条件是:a + b
两边和小于第三边。
这个问题属于三个数的组合问题了。暴力法可解,但是时间效率就是O(n*n*n)了,很慢。
不过既然是组合问题就必定可以使用排序后处理的方法降低时间效率的。
这里降低时间效率的方法是:
选一个最大的数c,然后选两个小数a和b,其中a
这样可以把时间效率降到O(n*n)...
分类:
其他好文 时间:
2014-05-07 06:32:23
阅读次数:
289
虽然多线程的使用可以提高应用程序的性能,但也增加了复杂性。 如果使用线程在同一时间执行几个函数,访问共享资源时必须相应地同步。 一旦应用达到了一定规模,这涉及相当一些工作。 所以要学习Boost.Thread提供同步线程的类。...
分类:
编程语言 时间:
2014-05-06 14:42:40
阅读次数:
329