(acwing蓝桥杯c++AB组)1.课程介绍+递归

课程介绍

整理自AcWing y总课程蓝桥杯C++ AB组辅导课(试听课)_哔哩哔哩_bilibili

题目描述->抽象出数据类型->(dfs,图论,dp,贪心等)

  • check

    1. 正确性

    2. 时间是否超时

      • 一般来说一层循环O(n),两层循环O(n2),三层循环O(n3)。

      • 计算机中的 logn 一般指的以二为底的。

      • int 范围大概正负109 ,long long 范围大概正负1018

第一讲 递归与递推

递归
引入

自己调用自己

列如斐波那契数列1,2,3,5,8,13…

#include<iostream>
#include<cstdio>
using namespace std;
int f(int n)
{
if(n==1)
return 1;
if(n==2)
return 2;
return f(n-1)+f(n-2);
}

tip:

  • 对于c语言风格scanf printf 速度巨快。(#include)

  • 对于c++语言风格cin cout 速度稍慢。

在数据规模小于105时一般无所谓选择哪种

用scanf只是因为部分题目可能会卡输入输出的时间。

递归的底层调用顺序

递归调用思路可以借助栈的后进先出思维理解,这里我们借助递归搜索树帮助理解。

对于上一题的斐波那契数列可以得到递归搜索树


思考:
题目是从n递归到1,2,那么如果反过来从1一直递归到n,n-1该如何刻画递归搜索树和对应代码呢?

我的思路

如上图,不难发现其实是一样的。代码如下:

#include<iostream>
#include<cstdio>
using namespace std;
int f(int u)//定义aim为目标值
{
if(u==aim-1)
return 2;
if(u==aim)
return 1;
return f(u+1)+f(u+2);
}

tip:
所谓剪枝就是把其中的一些分支减掉以降低复杂度

例题与练习

92. 递归实现指数型枚举 - AcWing题库

tip:常见2的几次方

(acwing蓝桥杯c++AB组)1.1 递归的更多相关文章

  1. (acwing蓝桥杯c++AB组)2.1 二分

    二分与前缀和 文章目录 二分与前缀和 二分 整数二分核心思想 整数二分模板 整数二分步骤总结: 题目链接 实数二分核心思想: 题目链接 三分法思想: 二分 难点:二分的边界问题 整数二分核心思想 确定 ...

  2. (acwing蓝桥杯c++AB组)1.2 递推

    1.2 递推与递归 文章目录 1.2 递推与递归 位运算相关知识补充 pair与vector相关知识补充 题目目录与网址链接 下面的讲解主要针对这道题目的题解AcWing 116. 飞行员兄弟 - A ...

  3. 2019第十届蓝桥杯C++B组题解(赛后重写的,不确保答案正确性,仅供参考)

    先说一下这次的感受吧,我们考场比较乱,开始比赛了,还有的电脑有故障,(向这些人发出同情),第一次认真参加比赛,真正比赛的时候感觉没有那么正式,很乱,各种小问题,(例如博主就没找到题目在哪里,找到后又不 ...

  4. 第八届蓝桥杯java b组第六题

    标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少. 比如:"abcdkkk" 和 "baabcdadabc",可以找 ...

  5. 蓝桥杯java高职组

    标题1: 猜年龄     美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中 国清华大学讲学.     一次,他参加某个重要会议,年轻的脸孔引人注目.于是 ...

  6. 蓝桥杯比赛javaB组练习《牌型种数》

    牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌.一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张.这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌 ...

  7. 49-2015年第6届蓝桥杯Java B组

    1.三角形面积 如图1所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字.   image.png   计算方法: 8 * ...

  8. 46-2016 蓝桥杯 java B 组

    1.煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤 ...

  9. 2012年第三届蓝桥杯Java本科组省赛试题解析

    题目地址:https://wenku.baidu.com/view/326f7b4be518964bcf847c96.html?rec_flag=default    => 百度文档 题目及解析 ...

随机推荐

  1. 【转载收藏】使用Jacoco远程统计tomcat服务的代码覆盖率

    在做软件开发的时候经常会遇到做各种测试,这里介绍一种本人遇到的:代码覆盖率测试, 这个测试非常实用,能发现许多无效的模块和代码.强烈推荐!!!!! 网上好多资料都不全,而且没有详细的配置流程 本文将简 ...

  2. zabbix 监控系统概述及部署

    zabbix 监控系统概述及部署 1.Zabbix是什么: zabbix是一个个基于web界而的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系 ...

  3. zookeeper集群+kafka集群 部署

    zookeeper集群 +kafka 集群部署 1.Zookeeper 概述: Zookeeper 定义 zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目 Zooke ...

  4. 用Java模拟实现对系统文件以目录的拷贝功能

    要用Java对单个文件拷贝的话,其实思路很简单,循环读取被拷贝文件,放入byte数组,然后写入目标文件.当然我们也可以借助现有的类去完成,如InputStream中的transferTo()方法就可以 ...

  5. 【论文总结】Zero-Shot Semantic Segmentation

    论文地址:https://arxiv.org/abs/1906.00817 代码:https://github.com/valeoai/ZS3 一.内容 Step 0:首先使用数据集(完全不包含 Un ...

  6. 帆软报表(finereport)JS实现长页面锚点定位

    在报表的应用需求中,页面过长时,需要页面中实现类似HTML中锚点功能以跳转到相应需要预览模块 1实现思路 在设计器中所做的操作最终都会以HTML形式展现在网页.在这里我们为报表块单元格加上id选择器配 ...

  7. 设置maven创建工程的jdk编译版本

    方式一:在maven的主配置文件中指定创建工程时使用jdk1.8版本 <profile> <id>jdk-1.8</id> <activation> & ...

  8. Tensorflow 2.x入门教程

    前言 至于为什么写这个教程,首先是为了自己学习做个记录,其次是因为Tensorflow的API写的很好,但是他的教程写的太乱了,不适合新手学习.tensorflow 1 和tensorflow 2 有 ...

  9. flag_in_your_hand1

    给了两个 文件 index.html 和 一个js文件 ,考察js代码审计能力首先借助浏览器来运行js 程序.用浏览器打开index.html,分析 js 代码: 首先无论在 token 输入框中输入 ...

  10. 中了勒索病毒的win7系统