摘要: 最近做了几个关于递推的题目,基本的感触就是这玩意,对排列的要求高,而且还要有一颗善于发现规律的眼睛,当然这少不了数学洞察力。今天上午做了一个有关卡特兰数的题,当然涉及到卡特兰数一般就会涉及到大数的运算。今天最大的收获就是改变以往对大数运算的方法,基于以前对大数的模拟方法,进行了革命性的改进(以前见到大数运算就头疼),这里总结一下: 以前模拟大数运算总是用字符串,这也是导致效率低下的主要原因。今天改用整形数组,数组的每个元素保存一定的位数(以前用字符串模拟时,一个元素只能表示一位),这样就不要进行逐位模拟,每次可以运算一定说量的位数。这样也提高运算的效率。这种模拟大数的方法尤其对求大数的阶乘“疗 阅读全文
posted @ 2011-10-18 22:38 orangeblog 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 博弈论 这两天做了博弈论类的题目。感受是,针对于完成一个题目还是很简单,因为博弈论类的题目在分为几大类,网上有类似的资料。只要能对几种类型的题目有一定理解,会很容易解决大部分博弈论之类的题目,所以其关键就是能够分析出是哪一种博弈(当然要是能深层次理解其原理更好),并且了解应该用什么公式,因为每一种博弈都有固定的解法。 多堆选择就有个公式,这种类型的博弈论就是纯粹的套公式 阅读全文
posted @ 2011-10-07 11:14 orangeblog 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 树状数组。求和,更新,求ith之前比a[i]小的元素个数!普通数组不行吗,行啊,关键树状数组快啊。贴个图:a数组为普通数组,c数组为属性数组,图要仔细研究研究,据说图明白了,离弄懂树状数组就不远了。c1=a1; (0001)c2=a1+a2;(0010)c3=a3(够shit的学校又要熄灯了,今天就到这里)(0011)(继续:)c4=a1+a2+a3+a4 (0100)c5=a5 (0101)c6=a6+a5 (0110)................上面每一个等式后面括号内的二进制码对应树状数组的下标,不知是否看出来等式左面的项数 等于 其下标二进制码 从右端开始出现的第一个1所代表的数值 阅读全文
posted @ 2011-10-05 23:28 orangeblog 阅读(267) 评论(0) 推荐(1) 编辑
摘要: 看了《社交网络 社群网站》及《硅谷传奇》两步关于计算机方面的电影之后,感受颇是深刻。在看《社交网络 社群网站》时,当电影放到十分钟左右,突然兴起,关上电影做了杭电上的一个题目。之所以要做这个题,主要还是手这部电影的影响。开头的感觉有一种程序员的激情。 做完题之后接着把电影看完了,强烈的感受到计算机或是软件世界及网咯的神奇。对一个优秀的程序员,黑客很是向往。想成为优秀者,就应该追求执着,与热情。这里绝对不仅仅是坚持,更多的应该是热爱,痴迷。当然坚持必不可少(谁不想抱着美女啊)。计算机知识体系甚是庞大,想学玩所有内容几乎是不可能,这里就要学自己喜爱的,执着的追求着;做到形影不离,白天黑夜,想想是. 阅读全文
posted @ 2011-10-05 23:19 orangeblog 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 编程中一类问题的求解用到母函数,在这里母函数相当于一个公式,遇到这类问题就套用母函数,就像高中的时候我们在做物理中速度一类题时,我们会用到加速度一类的公式。当然这里不仅仅是懂得母函数,还要了解如何用程序来实现母函数。网上有实现母函数模板,再做不同的题时需要根据模板去改进。所以,要想利用母函数做题,不仅仅只是记住模板,还要理解。 母函数的实现用到了动态规划的知识,所以如果对动态规划有一定了解的话,对模板的理解有很大的帮助。 这里以杭电1085为例: 本.拉登要求用给定面值的钱及每种硬币的数量来寻找由这些硬币不能组成的最小面值。其实就是整数拆分的一种变体,不同的是硬币的数量;在整数拆分中,c1[. 阅读全文
posted @ 2011-08-26 08:20 orangeblog 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: 动态规划: 看到动态规划时,就像看到贪心一样,总感觉动态规划是一种和其名字很像的算法,研究到现在,对其有些浅显的认识,确实是在动态中完成求解,如何动态、规划!这两点似乎不是很好理解;在求解的时候动态从何而来,规划从何而来?个人观点是,动态规划在于数组,是把已经求出的解,放进数组,至于如何去放需要自己摸索;动态规划一大特征:最优子结构;利用这一最优子结构构成递归方程(注:学习动态规划之前,一定要弄清楚递归。最好自己能用递归最几个回溯之类的题目),其实如果不考虑时间问题,递归会很方便的完成求解,正是由于TM time问题,我们不得不另寻捷径——动态规划;而这另寻的过程是将已经列出的递归方程,仔细. 阅读全文
posted @ 2011-08-25 22:21 orangeblog 阅读(132) 评论(0) 推荐(0) 编辑