首页 > 编程语言 >考研算法辅导课笔记:第十四章--模拟,递推,bfs

考研算法辅导课笔记:第十四章--模拟,递推,bfs

时间:2023-02-19 21:23:11浏览次数:41  
标签:BFS 辅导课 方案 -- bfs 大意 题目 递推 等差数列

这节课完全是上机题,机试内容。
想要保持排名靠前吗?那就多在上面投入时间,一般来说投入时间与排名成正比

  • 模拟题
    先讲一下做过的题目类型。比如说dfs,dp,贪心,从一堆方案中涨到最优的,也叫最优化问题,方案不唯一
    然后对比一下,模拟就是只有一个方案,方案是唯一的。
    数据结构 优化计算。
    总结:模拟不会用到特别复杂的算法,也不会用到特别复杂的数据结构。
模拟题  最重要的是什么?读题,理解题目描述的流程。

特殊乘法
题目大意:给定两个整数,求各位相乘之和。是不是可以理解成两层循环呢?

众数
题目大意:给定一个整数序列,n个非负整数,m位。求每一位的众数。
大致思路:定义一个数组。统计每一位上0-9出现的次数。输出最大的数即可
这个时候是不是用到了时间复杂度判断? 是不是发现运算量很小,可以直接暴力?
那么该如何判断时间复杂度?是不是应该找到出现运算次数最多的代码呢?是不是运算次数最多的代码段决定了时间瓶颈呢?
这个时候,根据数据范围就可以得到复杂度估计了。

糖果分享游戏
大致思路:模拟即可。

  • 递推
递推最重要的是什么?定义出来递推序列是什么。是不是需要想好自己定义的An是什么意思,怎么把An算出来。
有没有发现递推,其实是特殊形式的DP。

递推数列
题目大意:给定 a0,a1,以及 an=p×an−1+q×an−2 中的 p,q。这里 n≥2。求第 k 个数 ak 对 10000 的模。
这里用到了取模的什么技巧呢?(a+b)%p == (a%p+b%p)%p 
                          a*b%p == (a%p)*(%p)%p

吃糖果
题目大意:n块糖果,可以一天吃一块或者两块,求一共有多少种吃的方案。
解题思路:
       使用递推的思路:An表示吃n块巧克力的方案数。然后将方案数分成两大类。
                    划分集合。会发现最后一天有两种选择,吃一块或者两块。则最后一天的方案总数就是An = An-1 + An-2.
那么有个小问题,该如何定义的递推问题的边界值呢?这个没有固定的答案,只要可以正确运算即可,符合逻辑。
  • BFS
    BFS 与 DFS 有什么区别呢?首先,两个是不是都是搜索方案,都可以搜索到许多方案。但是,两者的搜索策略不一样。
    那么,BFS有什么优势呢?BFS可以求最短路。

AcWing3385 玛雅人的密码
题目大意:可以对一串数字进行操作,求最小的操作数,可以出现2012这四个数字。
解题思路:典型的BFS 最小步模型。
宽搜的代码模型:定义一个队列,一个距离数组。然后取出队头,循环扩展。

  • 该如何学习呢? 初学者都要模仿,跟着老师,把知识转化成实践。
    比如说敲代码,可以老师写一行,自己跟着敲一行。
    什么叫熟能生巧?以学习编程为例,刚开始是一行一行跟着写,跟着教程或者老师,把知识点转化成产品。然后逐渐就能熟练。
    那对我们以后的学习有什么启发呢? 以后读研的时候,一定要增强动手能力。
    那么读研的时候,该如何做呢?多写,多调,少灌水。

AcWing 3402等差数列
题目大意:给定一个矩阵,行列满足等差数列,但是空白,需要补全。
解题思路:等差数列有什么性质?如果我们知道两个相邻的数,就可以得到等差数列的公式。
在这个题目中,只要知道行的两项,就可以得到这行全部的数字。
分析可得,这是一个不断迭代,不断变化的过程。
那该如何处理呢?想法:定义一个集合,将所有的已知信息大于等于2的行或者列加入。然后不断扩展,最终得到最后的结果。

该怎么才能提高呢? 多自己推,自己想,自己写。这个比查阅资料,问别人效果高很多。

标签:BFS,辅导课,方案,--,bfs,大意,题目,递推,等差数列
From: https://www.cnblogs.com/spock12138/p/17132760.html

相关文章

  • 读取shexiangtou问题点
    1、error:'explict'doesnotnameatypee#ifndefCAMERA_H#defineCAMERA_H#include<QImage>#include<QDebug>#include<QTimer>#include<opencv2/opencv.hpp......
  • 员工信息分页查询功能开发
    总体流程:    ......
  • VNCTF2023(pwn签到)
    XXX程序分析首先检查程序保护从后往前看,给我们留下了syscall这个gadgetIDA静态分析,可以看到第一次读入的时候可以多读取0x10字节。第一个想法就是栈迁移,但是做的过程......
  • 中值模糊
    #include"mainwindow.h"#include<QApplication>#include"opencv2/opencv.hpp"#include<iostream>usingnamespacecv;usingnamespacestd;intmain(intargc,......
  • Vue前后端交互、生命周期、组件化开发
    目录Vue前后端交互、生命周期、组件化开发一、Vue用axios与后端交互二、Vue的生命周期三、组件化开发Vue前后端交互、生命周期、组件化开发一、Vue用axios与后端交互​ ......
  • 如何利用GPT技术改善在线聊天体验?
    GPT技术(GenerativePre-trainedTransformer)是一种用于自然语言处理的深度学习技术,可以提供高精度的文本生成功能,可以有效改善在线聊天体验,提高用户体验和满意度。它通过利......
  • tryhackme-wreath
    10.200.87.200->10.200.87.150->10.200.87.100通过扫描10.200.87.200发现其10000端口上开放了webmin服务查询历史漏洞发现了一个远程命令执行漏洞CVE-2019-15107gi......
  • 第一周内容总结
    目录一、markdown语法二、计算机相关知识点(1)、计算机五大组成部分(2)、计算机三大核心硬件(3)、操作系统(4)、单位换算(5)、编程语言的发展史(6)、编程语言的分类三、pyt......
  • CF1734E Rectangular Congruence 题解
    可能更好的阅读体验题目传送门toluogu为什么只有VP才会遇到这种简单E。题目大意给定一个质数\(n\)和长度为\(n\)的序列\(b\),要求构造一个\(n\timesn\)矩......
  • 树与二叉树的基础概念与代码实现
    树与二叉树的基础概念与代码实现树,其实跟我们现实生活中的树是差不多的。如果你还不了解树这个数据结构的话,你可能认为树是这样的:但事实正好相反,在数据结构当中,树的模......