自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

承续缘的信仰

Like C++ Algorithm

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

转载 你是想读书,还是想读完书?

以前,读书前会很想读一本书,但实际读书时,经常是“想读完书”,而不是“想读书”。这种想法经常会让我的生活变得很痛苦,当你做一件事想着快点做完时,你的心思其实已经不在这件事上了。  这个问题在我大学时困扰了我很久。我没有意识到这本身其实是一个价值观问题,以至于我常在一些时间管理的书中寻找答案。那些书都只能让你更高效地“做完事”,却不能让你在做的过程中更投入一分。  直到后来离开学校,

2013-08-23 00:22:23 1195

原创 回溯法

回溯法其实是搜索算法中的一种控制策略。它的基本思想是:为了求得问题的解,先选择某一种可能情况向前探索试探,在探索试探过程中,一旦发现原来的选择是错误的,就退回一步重新选择,继续向前探索,如此反复进行,直至得到解或证明无解。

2013-08-24 19:17:44 3561

转载 令人忧虑,不阅读的中国人

近日,一名印度工程师所写的《令人忧虑,不阅读的中国人》红遍网络。他说,未来的中国前途堪忧!全文如下(编者:从文中叙述看,有些表达不太像是出自一名印度工程师之口,不过道理是一样的,不必太计较是谁说的):  我坐在从德国法兰克福飞往上海的飞机上。正是长途飞行中的睡眠时间,机舱已熄灯,我蹑手蹑脚地起身去厕所。座位离厕所比较远,我穿过很多排座位,吃惊地发现,我同时穿过了很多排 iPad。不睡觉玩

2013-08-23 00:23:48 2471

原创 C++码农要读的经典

今天刚大四,还在忙着找工作,读过的书不是很多,还有一些好书在读,还有一些书将来必读。读过的书

2013-08-18 14:43:36 5349 5

原创 贪心算法详解

贪心算法在解决问题的策略上目光短浅,只根据当前已有的信息就做出选择,而且一旦做出了选择,不管将来有什么结果,这个选择都不会改变。也就是说贪心对于算法的每一个决策点,每一次的选择,做一个当时看起来是最佳的选择。它并不是从整体最优考虑,它所做出的选择只是在某种意义上的局部最优。贪心算法对于大部分的优化问题都能产生最优解,但不能总获得整体最优解,通常可以获得近似最优解。

2013-08-18 13:32:43 7122

原创 POJ1051 木棍叠加

题目详见http://acm.hdu.edu.cn/showproblem.php?pid=1051 意思就是说如果机器要处理叠加的木棍。第一个木棍处理时候机器需要时间调整,如果下个叠加的木棍的长度和重量都大于等于底下的木棍,则机器不需要调整时间,直接叠加上面即可。否则机器需要重新调整,这需要时间。给你一堆木棍的长度和重量,希望你调整木棍的叠加顺序,使机器的调整时间最短。 很明显是贪心算法

2013-08-18 11:07:57 1924

原创 HDOJ1009 肥鼠的交易

题目详见http://acm.hdu.edu.cn/showproblem.php?pid=1009 这个问题很简单,类似多重背包问题,不过这个多重背包是可以拿一部分的,而不像之前说的背包问题。 很明显是贪心算法,首先根据JavaBean价值大小排序,然后根据手里的猫食来换取最大价值的JavaBean。每次都要判断是否够换一个整的,够的话就换,然后手里的猫食减少,不够换一个整的,那就换一部

2013-08-18 10:51:43 2750

原创 POJ2287 田忌赛马---贪心算法

田忌赛马题目详见http://poj.org/problem?id=2287 田忌赛马大家都听过,可是如果不是上中下等三种马,而是很多种马,就不仅仅是321的问题了。 这个很明显就是贪心算法,贪心算法的宗旨就是一个字------贪!有最小的代价换取最大的利益,我们都很喜欢。田忌当年请教孙膑的时候,孙膑对田忌说:“现在用您的下等马对付他们的上等马,拿您的中等马对付他们的下等马,拿您的上等

2013-08-18 10:24:41 8633

原创 如何证明程序的正确性?

什么样的程序才是正确的? 如何来保证程序是正确的? 测试?NO!采用测试方法确实可以发现程序中的错误,但却不能保证和证明程序中没有错误!先来看一些概念,有关程序功能的精确描述   前置断言:程序执行前的输入应满足的条件,又称为输入断言。 后置断言:程序执行后的输出应满足的条件,又称为输出断言。 程序规约:对程序所实现功能的精确描述,由程序的前置断言和后置断言两部分组成。程序设计一般过程:问

2013-08-13 00:41:05 7573

原创 平摊分析

我们经常在处理数据结构的时间复杂度的时候,大多数操作代价很低,可是由于某些个别操作的代价较高,导致最后求得时间复杂度的上界不是那么的紧凑。在平摊分析中,执行一系列数据结构操作所需要的时间是通过对执行的所有操作求平均而得出的。平摊分析可用来证明在一系列操作中,即使单一的操作具有较大的代价,通过对所有操作求平均后,平均代价还是很小的。平摊分析与平均情况分析的不同之处在于它不牵涉到概率。这种分析保证了在最坏情况下每个操作具有平均性能。

2013-08-12 00:07:52 5138 5

原创 如何扩充数据结构

我们在用数据结构的时候经常找不到适合的,树图堆栈这些根本满足不了我们的需要。有的时候我们不得不去设计一些数据结构,可是那会很麻烦,而且很难。所有我们在设计新的数据结构的时候经常拿现有的数据结构,然后在上边添加一些自己需要的功能,以便支持我们的新操作。这就是我们要说的数据结构的扩充。

2013-08-09 17:25:05 2381

原创 一步一步从二叉查找树学到红黑树

平衡是指所有的叶子的高度趋于平衡,更广义的是指在平衡二叉树上所有可能查找的均摊复杂度偏低。几乎所有平衡树的操作都基于树的旋转操作,通过旋转操作可以使得树趋于平衡。AVL树,红黑树,伸展树,Treap树等都是平衡二叉树。

2013-08-09 01:53:10 5226 2

转载 如何成为一名优秀的开发者

如何成为一名优秀的开发者?你觉得自己算是一名优秀的开发者吗?如果是的话,你有没有考虑过,作为一名优秀的开发者,应当具备哪些优秀的品质?原文作者Gregor Riegler 发表了一篇博文《What makes a great Developer》,文中提到了成就优秀开发者的九大品质,译文如下:一、激情(Passion) 开发者往往会因每一次成功完成任务后而感到欣喜,

2013-08-08 19:36:30 1355

转载 一道面试题

题目如下:“有一个100层高的大厦,你手中有两个相同的玻璃围棋子。从这个大厦的某一层扔下围棋子就会碎,用你手中的这两个玻璃围棋子,找出一个最优的策略,来得知那个临界层面。”下面给出我的分析和解答。 为了得到两个棋子的最优策略,我们先简化问题,看看一个棋子的情况。如果手中只有一个棋子,为了得知临界层面,你只有一种选择:从2楼开始,一层一层地试,直到棋子被打碎,此时你站的楼层就是所求的临界层面

2013-08-05 11:09:05 1202

原创 哈希表详解

先来看一个TopK题目: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。     假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。 如何解答?Topk之前已经说过,

2013-08-05 01:03:42 5530

原创 背包问题详解

背包问题 背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的体积和价值,在限定的总体积内,我们如何选择,才能使得物品的总价值最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。相似问题经常出现在商业、组合数学,计算机复杂理论、密码学和应用数学等领域中。也可以将背包问题描述为决定性问题,即在总体积不超过V的前提下,总价值

2013-08-04 22:21:34 15329 2

原创 楼教主男人必解八题之 Coins 解题报告

楼教主男人必解八题之 Coins 解题报告 题目详见http://acm.hdu.edu.cn/showproblem.php?pid=2844 这个题目和POJ1742是一个题目,也是楼教主的男人八题之一。 说的是给出N种硬币的价值和个数,问可以取到1---M中的多少个值。这个很显然是和背包问题是一样的,略有一点点区别。 解题思路:就是把M当成背包体积总和,硬币的价值也是组成M的一部分,也

2013-08-04 22:20:52 5631

原创 HDOJ1069 猴子和香蕉【DP】

题目详见http://acm.hdu.edu.cn/showproblem.php?pid=1069 这个题目的大致意思就是香蕉挂在一定的一定的高度,不同的高度都有香蕉。给猴子很N个箱子,有长宽高,让猴子用这些箱子摞在一起爬到高处吃香蕉,看猴子的智商够不够高,吃到的香蕉多不多。箱子可以翻转,但是一个箱子要想摞在其他箱子上边,必须满足长和宽都要小于底下的箱子。箱子的数目是不限的,只是给出不同的箱

2013-08-02 00:27:45 2397

原创 HDOJ 2084 数塔【简单DP】

题目详见http://acm.hdu.edu.cn/showproblem.php?pid=2084题目的意思就是从上到下,找到一个路径加起来和是最大的。这个很简单,就是一个表达式的事,没什么可多想的。遍历是不现实的,也没必要。这个DP 很好想,是我做过最简单的DP了。表达式 if(array[i-1][j-1]>=array[i-1][j]) array[i][j]+=arra

2013-08-01 23:39:57 1961

排序算法整理大全

各种排序算法分析,有图解,有分析,伪代码,源代码。挺全的,都是自己整理的。原文地址是http://blog.csdn.net/liangbopirates/article/details/9292379 欢迎批评指正

2013-08-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除