Java语言七年之痒

摘要: 我以前一直坚信:语言不是问题,算法与数据结构才是关键!所以,从我刷acm的题目开始,我一直用的是java,因为java我真的是太熟练了。不想浪费时间的语言语法的层面,只想专心算法和数据结构。但是看着程序的运行结果,我动摇了。七年了,我开始动摇了。很多题目,java写出来的,同样的算法,需要几百ms,而c++不到0ms。差距如此之大,我不得不也练练c++了。其实c++之前也学过,基本语法儿也没问题,... 阅读全文
posted @ 2012-01-31 16:20 sing1ee 阅读(189) 评论(0) 推荐(0)

最长公共子序列问题的动态规划解法

摘要: 就我目前学习动态规划的程度,我觉得使用动态规划的方法解决一个问题,最难的是:将问题的解决过程用递归的形式表达出来。使用递归的形式表达出来之后,可以判断是否有重叠的子问题,或者我们在构造递归表达形式的过程中,就会进行判断。另外,可以根据递归的参数,设计数组存储计算的结果,也就是有些博客中提到的填表过程。有很多时候,觉得动态规划解法的代码中,数组运用到很是巧妙,这个主要还是来自递归形式中。 在上一篇的博客中,递归形式其实比较明显。在这一篇,我尝试分析最长公共子序列问题的动态规划解法儿,加深递归表达式产生的过程,也就是自顶向下的分析过程。 最长公共子序列问题:一个数列 S,如果分别是两个或多个已知数 阅读全文
posted @ 2012-01-30 09:10 sing1ee 阅读(333) 评论(0) 推荐(0)

动态规划入门

摘要: 一种学习编程的方法:抄别人的思路,抄别人的代码,然后,变成自己的。我在微博上看不少牛人都用过这样的方法,我以前也用,只不过没说。哈哈,这种方法适合比较难的算法。而,动态规划对我来说,就是比较难的了。算法,我觉得自己上道儿没多久。一直听说动态规划是一种很牛的算法,确切的说是一种方法。我对它一直都是望而却步,一方面没有实际需求,另一方面总觉得自己学不会。这不要练内功,就硬着头皮开始,并且使出我上面的招... 阅读全文
posted @ 2012-01-29 17:32 sing1ee 阅读(332) 评论(0) 推荐(0)

学习的方法

摘要: 写在前面:博客这东西,有时间就多写写,没时间就少写写。而且,我发现,博客一定要写的,这和学习方法有关。以前没有自己的电脑的时候,学习都是听记笔记,然后课下看笔记复习,效果挺好的,至少我大学的时候,每年都是我们班前几名,而且很多时候是第一。我不是特别聪明的人,那个时候就坚信: 好记性不如烂笔头 不动笔墨不读书这些都是我爸爸传授给我的。我那个时候实践过了,但是上了研究生之后,好想就荒废了。除了上课依然... 阅读全文
posted @ 2012-01-28 08:57 sing1ee 阅读(162) 评论(0) 推荐(0)

编程语言对我的思维的影响

摘要: 今天看到一句话,深有感触:A language that doesn't affect the way you think about programming, is not worth knowing." -Alan Perlis大概的意思就是说,不能够影响你的思维的编程语言,是不值得学习的。以前,我对这个,理解得并不是很深刻:语言就是一个工具而已,还是要靠我的思维去指导。起决定性作用的,还是我... 阅读全文
posted @ 2012-01-27 23:27 sing1ee 阅读(553) 评论(0) 推荐(0)

复杂网络研究开始

摘要: 我想,我还是一个喜欢做研究的人,做应用研究的人。何谓应用研究呢?这是我自己随便叫的,主要是要贴近实际应用,产出要能够直接应用到实际的问题中。不要玩儿虚的。真正有用,就是我研究的唯一目标。原先觉得自己适合做一个架构师,现在这样的想法儿也没有变。因为,我也很喜欢对一个项目的掌控随心所欲的感觉,我能够掌控一个项目,项目的每个细节,每个细节的程度。当然,我目前参与的项目,最大的就是人民搜索的项目。可能也其... 阅读全文
posted @ 2012-01-26 11:17 sing1ee 阅读(198) 评论(0) 推荐(0)

杭电Acm-母函数题目解题报告

摘要: 今天是腊月29,今年没有30。所以,今晚就是除夕夜了。由于要找工作,练内功,所以,过年也不能够放松。今天做的题目是母函数相关的母函数就Generation Function,也叫生成函数,是组合数学中的一个概念。我请教了@微博Koth 他说了一个很典型,很简答的例子,可以很好的理解母函数的概念。例如求:x+2y=10的非负整数解的个数------①我们直观的看(x,y)的取值有:(0,5),(2,... 阅读全文
posted @ 2012-01-22 12:00 sing1ee 阅读(949) 评论(0) 推荐(0)

由随机游走模型说起

摘要: 随机游走模型可以预测不同节点之间的潜在关系,如下面图的例子:在上图中,q表示为查询,d表示为文档,如果有直线相连,就表示相关,q1和d1,d2相连,则d1和d2都是q1的相关文档,但是d3没有和q1相连(实线),那么他们之间就没有关系了么?不是的,通过与q2相关的文档发现,d3和q1是有关系的,原因是d1,d2和d3与q2都相关,那么他们之间是有关系的。这个查询和文档组成的网络中,相关的关系,是可... 阅读全文
posted @ 2012-01-17 14:39 sing1ee 阅读(3343) 评论(0) 推荐(0)

杭电Acm-1046解题心得

摘要: 这道题目,我刚看的时候,就觉得是DFS,结果用DFS解决的时候,总是TLE。后来百度了一下,才发现,被出题者给忽悠了。这道题目其实并不是DFS,而且寻找简单的规律。规律非常简单,我在思考的过程中,也有想过,只是不敢相信,会如此简单。规律如下: 对于m和n至少有一个是偶数的情况,结果就为m*n 对于m和n都为奇数的情况,结果为:m*n + 0.41(0.41 = sqrt(1 + 1) - 1)这... 阅读全文
posted @ 2012-01-12 23:09 sing1ee 阅读(389) 评论(0) 推荐(0)

杭电Acm-1045解题心得

摘要: 这个题目比较好理解。在一个n*n的格子中,放尽可能多的碉堡。这个题目开始想的时候,如果就思考深度搜索或者宽度搜索,会得到错误的答案,因为,当两个碉堡之间有墙的时候,它们是可以在同一行,同一列出现的。也就是说,在遍历的过程中,一行一列是否可以放碉堡的状态是可变的。代码如下:import java.util.Scanner;public class P1045 { private static int... 阅读全文
posted @ 2012-01-12 21:25 sing1ee 阅读(267) 评论(0) 推荐(0)