(acwing蓝桥杯c++AB组)1.1 递归
(acwing蓝桥杯c++AB组)1.课程介绍+递归
课程介绍
整理自AcWing y总课程蓝桥杯C++ AB组辅导课(试听课)_哔哩哔哩_bilibili
题目描述->抽象出数据类型->(dfs,图论,dp,贪心等)
check
正确性
时间是否超时
一般来说一层循环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:
所谓剪枝就是把其中的一些分支减掉以降低复杂度
例题与练习
tip:常见2的几次方
(acwing蓝桥杯c++AB组)1.1 递归的更多相关文章
- (acwing蓝桥杯c++AB组)2.1 二分
二分与前缀和 文章目录 二分与前缀和 二分 整数二分核心思想 整数二分模板 整数二分步骤总结: 题目链接 实数二分核心思想: 题目链接 三分法思想: 二分 难点:二分的边界问题 整数二分核心思想 确定 ...
- (acwing蓝桥杯c++AB组)1.2 递推
1.2 递推与递归 文章目录 1.2 递推与递归 位运算相关知识补充 pair与vector相关知识补充 题目目录与网址链接 下面的讲解主要针对这道题目的题解AcWing 116. 飞行员兄弟 - A ...
- 2019第十届蓝桥杯C++B组题解(赛后重写的,不确保答案正确性,仅供参考)
先说一下这次的感受吧,我们考场比较乱,开始比赛了,还有的电脑有故障,(向这些人发出同情),第一次认真参加比赛,真正比赛的时候感觉没有那么正式,很乱,各种小问题,(例如博主就没找到题目在哪里,找到后又不 ...
- 第八届蓝桥杯java b组第六题
标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少. 比如:"abcdkkk" 和 "baabcdadabc",可以找 ...
- 蓝桥杯java高职组
标题1: 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中 国清华大学讲学. 一次,他参加某个重要会议,年轻的脸孔引人注目.于是 ...
- 蓝桥杯比赛javaB组练习《牌型种数》
牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌.一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张.这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌 ...
- 49-2015年第6届蓝桥杯Java B组
1.三角形面积 如图1所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字. image.png 计算方法: 8 * ...
- 46-2016 蓝桥杯 java B 组
1.煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤 ...
- 2012年第三届蓝桥杯Java本科组省赛试题解析
题目地址:https://wenku.baidu.com/view/326f7b4be518964bcf847c96.html?rec_flag=default => 百度文档 题目及解析 ...
随机推荐
- 【转】Python 并行分布式框架 Celery
原文链接:https://blog.csdn.net/freeking101/article/details/74707619 Celery 官网:http://www.celeryproject.o ...
- json中传递数组和list
json的数据类型:List,数组,数字,字符串,逻辑值,对象,null 1.如果json传递的是数组,格式: { "name":"网站", "num ...
- 浅谈java代理模式
讲解java代理模式 目录 讲解java代理模式 何谓代理模式 静态代理 动态代理 JDK动态代理 CGLIB动态代理 何谓代理模式 代理模式,即Proxy Pattern,23种java常用设计模式 ...
- Linux性能优化实战(二)
一.CPU使用率过高 1,CPU使用率 a>节拍率 为了维护CPU时间,Linux通过事先定义的节拍率(内核中表示为HZ),触发时间中断,并使用全局变量Jiffies记录开机以来的节拍数.每发生 ...
- Solution -「BZOJ 3331」压力
\(\mathcal{Description}\) Link. 给定一个 \(n\) 个点 \(m\) 条边的连通无向图,并给出 \(q\) 个点对 \((u,v)\),令 \(u\) 到 \ ...
- [LeetCode]26.删除有序数组中的重复项(Java)
原题地址: remove-duplicates-from-sorted-array 题目描述: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的 ...
- Sunlogin RCE漏洞分析和使用
介绍 前两天网上曝出了关于向日葵远控工具(Sunlogin)Windows个人版的RCE漏洞POC.因为利用简单并且网上出现了公开的自动化扫描脚本,所以测试的人很多,也出现了一些真实攻击.漏洞的问 ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统(十九)——分布式事务之Saga模式
在之前的系列文章中聊过分布式事务的一种实现方案,即通过在集群中暴露actor服务来实现分布式事务的本地原子化.但是actor服务本身有其特殊性,场景上并不通用.所以今天来讲讲分布式事务实现方案之sag ...
- 力扣算法经典第一题——两数之和(Java两种方式实现)
一.题目 难度:简单 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数, 并返回它们的数组下标. 你可以假设每种输入只会对应一 ...
- springboot整合mybatisplus使用记录
1. springboot项目基本配置 springboot基本pom依赖 <parent> <groupId>org.springframework.boot</gro ...