![](https://img-blog.csdnimg.cn/20190608233811446.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++基本算法提高
涉及最基本的算法,面向基本熟练C/C++语言,而刚开始学习算法的人群。
swordtraveller
这个作者很懒,什么都没留下…
展开
-
[算法提高] 动态规划 0-1背包问题
考虑一般性的0-1背包问题,设背包容量为c,物品数量为n,每件的物品都有自己的重量和价值,每件物品只有两种状态:放入(记为1)、不放入(记为0),试寻找最优解满足放入的物品总重量不超过背包容量的前提下,放入的物品总价值最大。记背包为{},候选物品栏为()。我们依次决定A,B,C,D,E是否要放入。先看A要不要放入。如果对于{}(A,B,C,D,E),无非转化成两种方案:方案1:...原创 2019-04-24 16:02:46 · 505 阅读 · 0 评论 -
[算法提高] 动态规划 买不到的数目
[问题背景]蓝桥杯 历届试题 PREV-8买不到的数目问题描述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在...原创 2019-03-19 20:17:31 · 198 阅读 · 0 评论 -
[算法提高] 贪心算法 翻硬币
[问题背景]蓝桥杯 历届试题 PREV-6 翻硬币小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,...原创 2019-03-19 18:20:26 · 693 阅读 · 0 评论 -
[算法提高] DFS 深度优先搜索 数岛屿连通块面积
[问题背景]假设'#'是陆地,'.'是海洋。我们从图中把左、上、右、下四个方向相邻的'#'连起来作为一个连通块,也就是一个“岛屿”,每个岛屿的面积就是'#'的个数。如图:图中有三个连通块,按自左向右再自上而下的顺序,三个连通块的面积依次是4、2、1.输出这些连通块的面积。[测试样例1]##.#.#..#.#...#[输出样例1]4 2 1[测试样...原创 2019-03-18 17:00:34 · 1060 阅读 · 0 评论 -
[算法提高] 动态规划 爬楼梯
[问题背景]来源:LeetCode(力扣)编号:70. 爬楼梯内容:假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: ...原创 2019-03-17 19:45:32 · 637 阅读 · 1 评论 -
[算法提高] 递归 快速幂
理解递归的想法不难,关键是如何 快速 写出 正确 高效 的递归。函数递归调用的基本形式:Type MyFunction(){ ... MyFunction();}下面以递归实现 快速幂 ,说明一下写递归的一些注意点,这些要点是不是必要的我不知道,我想这需要严格的证明。一般求幂的方法是调用<cmath>中的pow()函数,例如求我们可以用pow(x, ...原创 2019-03-17 19:11:28 · 844 阅读 · 0 评论 -
[算法提高] 计划目录
这只是一个目录,表示我将要学习的内容,一些自己的想法、参考的好的他人博文链接也会写在这个系列中。因为自己也是初学者,所以希望能从一个初学者低起点的角度分析问题,帮到其他初学者。同时我的内容也一定存在不少冗余、错误之处,还请同行、大佬们多多批评指教,谢谢。[算法类型]1.递归[算法提高] 递归 快速幂 - swordtraveller的博客 - CSDN博客 https://blo...原创 2019-03-17 16:54:21 · 132 阅读 · 0 评论