
基础
文章平均质量分 67
Ice_teapoy
emmmmmmm,退役OIer...萌新ACMer...不定时更新...
展开
-
基础-高精度计算
高精度 1 定义 由于C语言的数据类型能存放的数字大小有一定的限制。 如整型int表达范围是(−231-2^{31}−231~231−12^{31}-1231−1) 无符号整数unsigned long是(0~ 232−12^{32}-1232−1) 浮点型double只能提供15~16位的有效数字。 因此,在计算位数超过十几位的数时,不能采用现有的数据类型,只能自己编程计算。 高精度算法(High Accuracy Algorithm)是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百原创 2021-02-14 14:44:11 · 505 阅读 · 0 评论 -
基础-深度优先搜索(DFS)
1 深度优先搜索(DFS) 1.1 定义 先说什么是搜索。搜索算法是利用计算机的高性能来有目的的穷举一个问题解空间的部分或所有的可能情况,从而求出问题的解的一种方法。在忽略效率的情况下,没有什么是搜索解决不了的(? 深度优先搜索(DFS)是基于递归的搜索。 想象你在走迷宫: 1、 这个方向有路可走,我没走过 2、 往这个方向前进 3、 是死胡同(到达了已经走过的地方),往回走,回到上一个路口 4、 重复第一步,直到找着出口 通过这种方式,只要地点的数量是有限的,你就一定可以在有限的时间找到迷宫的出口(或者确原创 2021-02-19 04:20:41 · 2227 阅读 · 0 评论 -
基础-递归
递归 1 定义 程序调用自身的编程技巧称为递归。 递归的实质是将问题转化为规模更小的相同问题。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。 它的思想类似于下面这个分段函数(斐波那契数列的第x项): 2 构成递归需具备的条件 子问题须与原始问题为同样的事,且更为简单; 不能无限制地调用本身,必须有个出口,转变为非递归状况处理。 3 例题 3.1 斐波那契数列 题目: 无穷数列1,1,2,3,5,8,13,21,34,55…称为Fib原创 2021-02-19 03:39:24 · 318 阅读 · 0 评论 -
基础-递推、贪心、搜索、动态规划对比
每个阶段只有一个状态->递推; 每个阶段的最优状态都是由上一个阶段的最优状态得到的->贪心; 每个阶段的最优状态是由之前所有阶段的状态的组合得到的->搜索; 每个阶段的最优状态可以从之前某个阶段的某个或某些状态直接得到而不管之前这个状态是如何得到的->动态规划。 转自@巴比伦的狮子 ...转载 2021-02-19 04:24:11 · 256 阅读 · 0 评论 -
基础-递推
1 递推 1.1 定义 一种重要的数学方法。即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。 相信大家都了解过数列的递推公式,那么递推算法即利用计算机善于快速进行重复性计算的特长,避免求通项公式的麻烦,将一个复杂问题的求解分解成若干个子问题进行求解。 1.2 例题 与排序算法不同,递推是一种思想,它的代码难度基本没有,难点在于找出递推式。所以我们直接上例题。 1.2.1 斐波那契数列 题目: 斐波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一原创 2021-02-14 14:29:06 · 488 阅读 · 1 评论