动态规划入门

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

学习的方法

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

复杂网络研究开始

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

杭电Acm-1045解题心得

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

杭电Acm-1010,1016,1240解题心得

摘要: 1010,1016都可以采用深度优先递归的方法解,比较简单。1240题目看起来很长,不好理解。理解了就是三维空间的搜索。理解了这个,基本就没有问题了。还有一个需要注意的是这道题目应该采用宽度优先的搜索算法,因为, 题目中要取得最短的路径,这个是深度优先搜索的不能够很方便实现的。能够快速的找到最优解,也是深度优先和宽度优先的一个区别,所以,在时间复杂度上,宽度优先搜索方法,要有优势,但是在空间上,则... 阅读全文
posted @ 2012-01-04 18:11 sing1ee 阅读(344) 评论(0) 推荐(0)

杭电Acm-1239解题心得

摘要: 这道题目和1238同样基本搜索的思路。题目的大意是给定m,a,b三个数,要找到p,q两个质数,满足一下条件: p*q <= m a/b<= p/q <= 1并且要求找着这样的p和q的乘积最接近m的。数值范围规定如下: 4 < m <= 100000 1 <= a <= b <= 1000这类题目的基本思路 缩小搜索范围 确定搜索的顺序 注意剪枝具体做法:第一步就是要缩小素数的范围,第一感觉是可以在... 阅读全文
posted @ 2011-12-31 14:24 sing1ee 阅读(239) 评论(0) 推荐(0)