acm公选课第三节4.7直播4.9补 递归 深搜啥的

在这里插入图片描述 今天主要讲递归 在这里插入图片描述在这里插入图片描述深搜 dp做准备, 在这里插入图片描述 能看到算法复杂度在这里插入图片描述 要真正理解:(从上往下扎,到边界结束,再一层一层往上返) 在这里插入图片描述 下图:第一行时边界,第二行时递归模式 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 爆了: 在这里插入图片描述 RE:(我也出过原来是这样)在这里插入图片描述 递推就行 在这里插入图片描述 老题了 在这里插入图片描述 在这里插入图片描述

一般时不敢这么写的,重复太多,所以记忆数组 :

刚试完,50确实卡住:报的TLE ## 记忆数组AC

oj里还有个快速幂的,JWmm nb

#include <iostream>
#include<bits/stdc++.h>
using namespace std;
long long a[55]= {0};
long long f(long long n)
{
    if(n==1||n==2)
    {
        return 1;
    }
    if(a[n]==0)
    {
        a[n]=f(n-1)+f(n-2);
    }
    return a[n];
}
int main()
{
    long long a;
    while(cin>>a)
    {
        cout<<f(a)<<endl;
    }
    return 0;
}

在这里插入图片描述

递推也就1ms(记忆了也能1ms)

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

%3循环节

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
用到了个公式
在这里插入图片描述
在这里插入图片描述
对递归的升华:(今天最重要)
(就是二进制唯一表示)
只能递归
2.1.0都结束

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
深搜:
是不能超过最左边那位的数的一半

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
贪心? 贪心!
在这里插入图片描述
递归:冷静看,算是伪递归了
在这里插入图片描述
在这里插入图片描述
广深搜入门
上下左右搜索的题,太简单了,数据结构入门题

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
这个处理挺有意思的,走过的变白,我的话会弄标记数组,这样省多了(编程意义,空间意义)
这里可以搞个(四个数的方向记录)数组:

在这里插入图片描述**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值