- 博客(14)
- 资源 (16)
- 收藏
- 关注
原创 SRM 576 D2 L3:CharacterBoard2
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12506&rd=15496用modPow方法求幂取余,其他地方不变,程序快了20多倍。之前需要500ms,现在只需20ms。代码如下:#include #include #include #include #include #include
2013-08-17 22:08:34 1086
原创 高效求幂取余 算法,复杂度 log(n)
做TopCoder SRM 576 D2 L3 题目时,程序有个地方需要对一个数大量求幂并取余,导致程序运行时间很长,看了Editoral之后,发现一个超级高效的求幂并取余的算法,之前做System test时,程序运行时间(最慢的测试用例)为500ms左右,使用此方法之后,运行时间直接减为20ms,快了20多倍,所以将此方法记录下来。算法时间复杂度为 log(n)。这个算法其实就是 数据结构与算法分析 (Weiss 著) 一书中开头的那个递归求幂算法的非递归版,简洁明了。 /
2013-08-17 21:55:00 3419
原创 SRM 588 D2 L3:GameInDarknessDiv2,DFS
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12710采用DFS搜索,第一次写的时候忘了加访问标志,结果状态空间呈指数增长(主要是因为有大量重复的状态),根本算不出结果,后来加入访问标志数组 v 后,就能保证不访问重复的状态的了。这道题目的启示就是使用DFS一定要记住确保不访问重复的状态,有些时候很容易就
2013-08-16 21:47:12 1181
原创 SRM 588 D2 L2:GUMIAndSongsDiv2,冷静思考,好的算法简洁明了
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12707算法决定一切,这道题目有很多方法解,个人认为这里 vexorian 给出的解法最简便。其他的使用brute force 和 DP都比较复杂。代码如下:#include #include #include #include
2013-08-16 21:40:43 1455
原创 SRM 576 D2 L2:ArcadeManao,DFS,善于根据实际问题使用最简便的方法
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12504这是个典型的图论的题目,很容易就能把题目抽象的图论的描述:求连接两点的所有 路径中权值最大的边 的最小值。但求解起来非常麻烦。如果换一个角度来思考,根据实际题目的要求,只需要计算当梯子长度从 0 到 N-1 时起点和终点是否能够连通,那么最先符合条件的
2013-08-11 22:51:48 1170
原创 SRM 581 D2 L3:TreeUnionDiv2,Floyd算法
题目来源:http://community.topcoder.com//stat?c=problem_statement&pm=12587&rd=15501这道题目开始以为是要在无向图中判断环,而且要找出环的大小,后来看了解析之后才发现原来使用一个Floyd算法就搞定了,因为题目中加了很多限制,并不真的需要在一个任意的无向图中求 指定大小的环的数量。生成所有的排列组合可以使用C++ S
2013-08-09 21:23:19 1141
原创 SRM 581 D2 L2:SurveillanceSystem,重叠度
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12588在判断 ‘+’ 的时候使用了 重叠度 的概念,跟一般的 “先去掉这个位置,看剩下的位置能不能符合条件” 方法不太一样。代码如下:#include #include #include #include #include #includ
2013-08-09 21:14:06 1932
原创 Introducing Regular Expressions (正则表达式入门)读书总结
(Introducing Regular Expressions Micbael Fitzgerald 著)一本很薄的书,才100多页,内容比较浅显,主要就是介绍一些正则表达式的基本用法,没有很高深的用例,比较适合用来入门,不过要想精通的话,那看这本书肯定也是不够的,作者推荐了两本进阶读物:Mastering Regular Expressions 和 Regular Expressio
2013-08-08 18:04:41 1310
原创 Introducing Regular Expressions 学习笔记
Introducing Regular Expressions 读书笔记进阶读物:Mastering Regular Expressions
2013-08-08 17:52:26 1634
原创 The Elements of Programming Style (编程风格的元素)读书总结
这是一本关于编程风格经典的老书了,一些经典的CS著作里面都提过此书,而且都是强烈推荐阅读,当初就是因为些书评价非常高,所以才想读的,不过很可惜,由于此书出版年月太早,而且书中使用的语言为fortran语言,所以已经停止印刷了。网上有pdf版,可以在这里下载(点击打开链接)。虽然是用fortran语言写的,不过里面关于编程风格的每一条建议对于每一个程序员都还是很有帮助的。看的过程中,发现里面很多
2013-08-06 20:12:33 2812
原创 SRM 587 Div II L3:ThreeColorabilityEasyy
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12699这道题目是第一次在比赛的时候做出来的,开始还想用brute force,后来发现那太复杂了,于是在纸上画了画,发现一个规律,那就是只有在一个2x2的cell中,如果出现3个N或3个Z方式的cell,那么这种情况下肯定是无法配色成功,因为最后一定会有两个
2013-08-05 08:43:15 1523
原创 《程序员的自我修养——链接、装载与库》 读书总结
(俞甲子 石凡 潘爱民 著)这本书主要是讲解程序的链接、装载过程及库机制,我看了前面几章之后,感觉实在是看不下去了,因为介绍的内容实在是太底层了,链接的过程介绍的非常详细,包括Linux下的ELF和Windows下PE格式的可执行文件的内容都讲的很细,我感觉如果不是对这些东西特别感兴趣的话,那么看起来应该会比较痛苦,正好我就是这种人,所以后面的内容基本就是大致翻看了一下,作者讲的很深入,将C运
2013-08-04 16:36:05 2786 4
原创 Effective STL 读书总结
(Effective STL 中文版 潘爱民 陈铭 邹开红 译)这里是看书过程做的读书笔记点击打开链接,花了不少功夫写的,对每个条款做了一个概括性的描述。看这本书之前最好是对STL的基本的操作熟悉,如果你从没有用过STL编程,或者甚至完全没有听过STL,那么还是先找一本C++ Primer(我看的是C++ Primer Plus)之类的入门书籍好好看一看吧。看这本书我用STL也有一段时间了,自以为用的还不错,起码在做算法题的时候用STL还是挺顺手的,不过当我看了这书前几条的时候我就发现自己对STL的了
2013-08-01 19:47:50 1828
原创 SRM 586 Div II Level Three: StringWeightDiv2,Dynamic Programming or Math
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12695解析:https://apps.topcoder.com/wiki/display/tc/SRM+586这道题目当时比较的时候没有做出来,当时感觉是用dp,不过还是太水了,完全不知道怎么搞,后来看别人代码发现都是基本都是用的排列组合原理做的,觉得自
2013-08-01 19:07:50 1194
Advanced Bash-Scripting Guide 读书笔记
2013-07-17
UnxUpdates.zip
2013-07-11
TopCoder: SmartWordToy
2013-06-02
CSAPP: malloc lab 文档及解答
2013-05-15
CSAPP: shell lab 解答
2013-05-07
CSAPP_cachelab Part A解答
2013-05-04
CSAPP_buflab 解答详细过程(内含源程序包及文档)
2013-04-23
CSAPP bomb lab内容加解答
2013-04-22
严蔚敏版数据结构算法C语言实现
2013-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人