ACM数据结构
文章平均质量分 56
coding进阶
清华,互联网大厂和量化投资
展开
-
关于递归超时问题的实例分析
很多时候递归是很直观的解决问题的方式,但往往递归的分支较多或层数较深的时候会导致程序运行超时或递归栈爆炸。以HDUOJ 2041题为例,实际上该题就是fibnacci数列求解,但如果我们写成int fib(int n) { if(n==0) return 1; if(n==1) return 1; else return fib(n-1)+fib(n-2原创 2013-03-23 22:03:22 · 3790 阅读 · 1 评论 -
char*,const char*和string 三者转换
1. const char* 和string 转换(1) const char*转换为 string,直接赋值即可。 EX: const char* tmp = "tsinghua". string s = tmp;(2) string转换为const char*,利用c_str() EX: string s = "tsinghua";原创 2011-11-30 16:22:28 · 65787 阅读 · 2 评论 -
汉字机内码(HDUOJ 2030)
汉字在计算机里表示为汉字机内码,每个汉字由2个字节表示,每个字节的最高位都是1,也就是说如果转成int的话,这2个字节都是负数,由此我们可以判断汉字在字符串中所在的位置,或者统计一个字符串中汉字的个数。(具体关于机内码的讲解见:http://baike.baidu.com/view/1199269.htm)相关编程例子见HDUOJ 2030题,AC代码如下:#include原创 2013-03-23 21:44:29 · 2390 阅读 · 0 评论 -
C++ 数据类型的表示范围
For 32-bit and 64-bit compilers, Microsoft Visual C++ recognizes the types shown in the table below. Note that the following type also have unsigned forms:int (unsigned int)__int8 (unsig原创 2013-03-23 22:05:01 · 1400 阅读 · 0 评论 -
常用数列的范围问题
1. fibnacci数列f(0)=0f(1)=1f(n)=f(n-1)+f(n-2), n>=2f(46)=1836311903 f(47)=2971215073可以发现f(47)已经超过了int能表示的范围,要留心。reference: http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/原创 2013-03-23 22:51:53 · 1083 阅读 · 0 评论 -
C++ 字符串分割 (HDUOJ 2072)
1. C++ 的boost库里有直接的分割函数split,可以将字符串按照指定的分割规则分割成字符串数组,类似Java。 具体使用参考:http://stackoverflow.com/questions/5734304/c-boost-split-string2. 如果不使用boost库的话,可以使用里面的strtok函数进行字符串分割。 具体函数使用见:http原创 2013-03-25 10:27:19 · 1028 阅读 · 0 评论 -
C++和Java运算符优先级表
1. C++ operator precedencePrecedenceOperatorDescriptionAssociativity1::Scope resolutionLeft-to-right2++ --Suffix/postfix increment and decreme原创 2013-03-26 22:46:42 · 1235 阅读 · 0 评论