2013年5月19日
摘要: 以前在看的时候,看到一个很奇怪的重载:operator Proc* ()那时对c++了解得还不多,看到这个写法费解了老半天,没有参数,没有返回值,有些析构函数的范儿。又带着个奇怪operator关键字,想必是做和操作符重载相关的东西。后面了解到,其实是用来做类型转换的,定义这个类被强制类型转换为某种... 阅读全文
posted @ 2013-05-19 22:37 twoon 阅读(1402) 评论(4) 推荐(0) 编辑
  2013年5月4日
摘要: 对编辑器一直没有太多的爱,自写代码以来,便很没节操地哪个方便用哪个。从vs+va+vim,到source insight, 到sublime text,甚至eclipse一路用来,所选无不是图形界面下的利器,图的就是简单方便,不愿花太多时间在工具的配置上鼓捣,也因此一直理解不了为何有人偏爱于命令行、... 阅读全文
posted @ 2013-05-04 23:34 twoon 阅读(1478) 评论(6) 推荐(2) 编辑
  2013年3月31日
摘要: 题目来自:http://acm.timus.ru/problem.aspx?space=1&num=1049题目的大意是: 输入10个整数:a1,a2,...., a10. 假设他们的乘积:k = a1*a2*....*a10. 求k的公约数的个数N的个位数上是什么数字。 解这个题目的关键在于,怎样求出一个数的公约数的个数.(如6的公约数的个数为4(1,2,3,6)). 很多人一看,很简单啊,直接循环1~k,总可以求出来。 这话虽没错,但只会使蛮力,不懂取巧,除了让自己的形象看起来更像一头牛,通常也会遇到效率上的瓶颈。 这里输入的10个数,有可能会很大,因此直接暴力搜索约数的个数是不行 阅读全文
posted @ 2013-03-31 16:34 twoon 阅读(410) 评论(0) 推荐(0) 编辑
  2013年3月20日
摘要: 求一个数组中,和最大的子数组,是一个比较经典的题目,《算法导论》中有一个用分治的经典解法,时间复杂度可以做到O(nlgn).《编程之美》,《编程玑珠》中都有讨论这个问题,其中一个动态规划的做法非常精巧,思路很赞,时间复杂度也优化到了O(n). 上面提到的两种解法对分治法,动态规划很有启发性,是非常好的练习题目。(1)分治法: 关键的思想在于把大题目转化为对多个小题目的求解。 考虑,如果我们把数组arr[],分成大小相等的两半:arr_a与arr_b,那么当前数组的最大子和sub, 只有三种可能: 1)sub 完全在 arr_a中。 2)sub 完全在arr_b中。 3)sub 横跨arr... 阅读全文
posted @ 2013-03-20 11:06 twoon 阅读(1395) 评论(0) 推荐(0) 编辑
  2013年2月16日
摘要: refer to here for short representation of trie.Let’s see what a suffix trie is:Given a string A = a0a1…an – 1, denote by Ai = aiai + 1…an – 1 the suffix of A that begins at position i. Let n = length of A. The suffix trie is made by compressing all the suffixes of A1…An – 1 into a trie, as in the fi 阅读全文
posted @ 2013-02-16 21:50 twoon 阅读(238) 评论(0) 推荐(0) 编辑
  2013年2月14日
摘要: 一个大数组,在1到25000之间,只有4K memory, 打印出其中正好只出现过一次的数。没出现过,出现过2次,3次,或更多,都不打印。solutions: 1)位图法,但每个数有3个状态:0,1,>1.因此需要2 bit, (25000 * 2) /(8*1024) = 6.1k,内存占用符合要求。 2)压缩,解法1中,用2个bit表示3种状态,事实上浪费了一个状态(2bit可以表示4种状态),因此可以考虑多个数共用几个bit表示状态,如: 5个数共用4个bit来表示,则(25000/5) * 4 / ( 8*1024) = 2.44k,内存占用符合要求,但是代码相对写起来恶心些。 阅读全文
posted @ 2013-02-14 22:52 twoon 阅读(474) 评论(0) 推荐(0) 编辑
  2013年2月2日
摘要: 写代码的人最难堪而又无法回避的事情之一,莫过于你写的程序某刻当着 QA 的面突然挂掉 --- 大大没面子!但更没面子的是,之后你一直没法解决问题。。。程序崩溃而又无法解决可能有很多的原因,其中一个就是无法找到出问题的地方,尤其是那些 release 版本的程序。异常崩溃后的善后处理是一件很重要而又不... 阅读全文
posted @ 2013-02-02 13:43 twoon 阅读(8165) 评论(1) 推荐(0) 编辑
  2013年1月28日
摘要: Trie(retrieval) is an order tree data structure that is used to store “string”.Unlike normal tree, trie does not store data in its nodes,node position indicates what data the node associates with.below is what a trie looks like holding string: ab, ac,b,cd,cde,d.A simple definition of a trie node:str 阅读全文
posted @ 2013-01-28 17:06 twoon 阅读(380) 评论(0) 推荐(0) 编辑
摘要: (一)输出 log 是调试及监控程序运行状态的一种关键手段,写 GUI 程序也不例外,具体对 wxWidgets 来说,它提供了如下一系列内置函数来处理 log 的输出:wxLogErrorwxLogWarningwxLogMessagewxLogDebugwxLogVerbose 从它们的名字我们... 阅读全文
posted @ 2013-01-28 11:36 twoon 阅读(2653) 评论(0) 推荐(0) 编辑
摘要: Log4cplus has three main components:LayoutsAppendersLoggers These three type of components found the basic of the log4cplus framework. here is a simplified uml graph illustrating the relationships of those classes: (1) A "Layout" class determines the format of the log message(how do w... 阅读全文
posted @ 2013-01-28 09:31 twoon 阅读(598) 评论(0) 推荐(0) 编辑