12 2016 档案
摘要:前面学了一个星期的C++,以前阅读C++代码有些困难,现在好一些了。做了一些NOI的题目,这也是一个长期的目标中的一环。做到动态规划的相关题目时发现很多问题思考不通透,所以开始系统学习。学习的第一本是《数据结构与算法C++描述》第三版,边学边做一些笔记。所以这些笔记中的代码有很多将会非常简单,甚至可
阅读全文
摘要:今天上午完成了“迷宫”问题,也思考了“2.5基本算法之搜索”的另外几个问题:小游戏(就一连连看),马走日,红与黑等。我所关注的这几个问题都可以用回溯算法来进行解决。回溯算法简单说就是当运行到叶子节点证明不是解时回到上一层节点继续遍历,如此循环直到找到一个解;如果需要全部解,可以继续遍历,如果不需要可
阅读全文
摘要:论出于什么原因和目的,学习C++已经有一个星期左右,从开始就在做NOI的题目,到现在也没有正式的看《Primer C++》,不过还是受益良多,毕竟C++是一种”低级的高级语言“,而且NOI上的题目可以说是循序渐进。不仅仅是从ASM、VB.NET的角度看编程语言,这让我对编程语言语言的理解有了一些深入
阅读全文
摘要:分治是一种思想,一种解决问题的方法、手段。从理论上理解起来并不困难:就是把一个大问题分解为若干小问题,逐一解决这些小问题,而后汇总结果。分治思想来指导的算法,都会满足这样的要求: 1、如果问题能分解为子问题,并且子问题和原问题可以用同一种方法解决。当然,如果子问题还比较复杂,那么可以继续分解。 2、
阅读全文
摘要:一、递推: 所谓递推,简单理解就是推导数列的通项公式。先举一个简单的例子(另一个NOI练习题,但不是这次要解的问题): 这个问题可以用递归来进行解决,但是解题时间1秒明显不够用。怎么办呢,可以考虑找到“规律”,然后推导公式解决问题,开始画图分析: 这是4个台阶时的全部7种走法,记作f(4)=7。现在
阅读全文
摘要:二分法的基本思路是对一个有序序列(递增递减都可以)查找时,测试一个中间下标处的值,若值比期待值小,则在更大的一侧进行查找(反之亦然),查找时再次二分。这比顺序访问要少很多访问量,效率很高。 设:low,hight,mid均为整型。以在一个降序arr[5]={5,4,2,1,0}中查找k=4时的下标为
阅读全文

浙公网安备 33010602011771号