- 2024-11-21最小二乘法 和 卡尔曼滤波 BY AI
递推最小二乘法(RecursiveLeastSquares,RLS)是一种自适应滤波算法,用于在线估计动态系统的参数。它通过最小化误差平方和来更新参数估计值,而不需要存储历史数据。带遗忘因子的递推最小二乘法(RecursiveLeastSquareswithForgettingFactor)是递推最小二乘法的一种改进,通过引入遗
- 2024-11-18YBTOJ 梳理总结
YBTOJ梳理总结包简洁的1.基础算法顾名思义,基础算法就是其他算法的基础。例如,递推算法是DP的基础,贪心算法是堆的应用的基础,DFS是图论的基础。所以说,许多算法都是在这些算法的基础上进行其他操作的。所以说学习好这些算法尤为重要。技巧总结:1.A.将一维的信息转化为二维。
- 2024-11-10什么是递推,该如何写代码呢?
上一篇,我们聊了什么是递归,那么这一篇我们就聊一下什么是递推。读这篇文章之前,不要有什么压力,递推很符合咱们正常人的逻辑不难。同样,我们先从一个故事讲起吧。在一个遥远的王国里,有一个著名的数学家名叫阿基米德。他是国王最信任的顾问,因为他对数学有着深刻的理解。有一天
- 2024-11-08笔试题11 -- 装箱问题(01背包)
装箱问题(01背包)文章目录装箱问题(01背包)一、原题复现二、思路剖析三、示例代码题目链接:NOIP2001装箱问题一、原题复现题目描述有一个箱子容量为V(正整数,0≤V≤20000),同时有n个物品(0<n≤30),每个物品有一个体积(正整数)。要求n个物品中,任取若干个装入箱内,使箱子
- 2024-11-03从递归到递推--入门篇
从递归到递推–入门篇一.1.什么是递归递归是指一种通过重复将问题分解为子问题而解决问题的方法。具体到使用上来,就是指对函数自身的调用。本文所讨论的递归,都是基于函数对自身的调用。但是,递归并非仅对函数而言,递归是种思想,例如C语言中的链表的实现同样依托递归思想,本文
- 2024-10-20函数、递归和递推
函数数组可以作为形式参数使用,数组作形式参数的时候真正的形式参数不是数组而是一个可以当作数组使用的变量,数组形式参数里包含的存储区都不是被调用函数提供的,声明数组形式参数的时候可以省略其中包含的存储区个数(写或不写没任何区别)。数组形式参数需要配合一个整数类型的形式
- 2024-10-20关于递归问题的复杂度计算
背景:前段时间在背八股,手撕快速排序,算法时间复杂度为\(O(nlogn)\),没想太多,记个结论就pass,和当初上算法课的时候一样;然后做小红书笔试题的时候,有一道题是这样:voidfunc(n){if(n==1){printf("good\n");}func(n-1);func(n-1);} 也是问时间复
- 2024-10-18递推数列的极限(上)------单调有界部分
不管怎么样,求极限之前都要先证明极限存在,即数列收敛。证明数列收敛两种方法:一种是单调有界准则,一种是夹逼准则。一.单调有界准则例1上面这道题的心路历程:先在草稿纸用上帝视角求出‘极限’,虽然是猜的,但是一定是对的。然后根据这个极限,以及题目给的条件,比如这道题给
- 2024-10-17dp一遍通
前言马上csp-s考试了,却发现自己dp太菜了,打算恶补dp线性dp理解递推/记忆化搜索,有很多种理解方式递归重叠子问题的记忆化搜索:像这里例如\(f[3]\)可以通过一次计算得到,保存答案,下一次直接调用即可,省去很多复杂度我们从此引出dp第一个性质:最优子结构大问题的最优解包含小问
- 2024-10-15leetcode 刷题day42动态规划Part11(1143.最长公共子序列、1035.不相交的线、53. 最大子序和、392.判断子序列)
1143.最长公共子序列思路:718.最长重复子数组两个数组对应相同且连续,所以递推公式是dp[i-1][j-1]+1。最长公共子序列不要求连续但要求相对顺序,差别主要在于递推公式。对于该题主要有两大情况:text1[i-1]与text2[j-1]相同,text1[i-1]与text2[j-1]不相同。如果te
- 2024-10-11基于最小二乘递推算法的系统参数辨识matlab仿真
1.程序功能描述基于最小二乘递推算法的系统参数辨识。对系统的参数a1,b1,a2,b2分别进行估计,计算估计误差以及估计收敛曲线,然后对比不同信噪比下的估计误差。2.测试软件版本以及运行结果展示MATLAB2022a版本运行 3.核心程序fori=(LEN0+4):LENz(i,1)=-A1*z(i-1
- 2024-10-08leetcode 刷题day37动态规划Part06背包问题( 322. 零钱兑换、279.完全平方数、139.单词拆分、多重背包)
322.零钱兑换思路:每种硬币的数量是无限的,是典型的完全背包问题。但是题目要求等于目标值的最小硬币个数。所以这里需要对动规五部曲进行分析。动规五部曲:1、确定dp数组以及下标的含义dp[j]:凑足总额为j所需钱币的最少个数为dp[j]2、确定递推公式凑足总额为j-coins[i
- 2024-10-07雅礼国庆集训 day1 T2 折射
题面题面下载算法转化题意说白了就是给了你一堆点,让你数这种折线有多少个(严格向下走,并且横坐标之间的差越来越小)看着像一种在y轴方向排序的dp但是由于是折线,所以需要加一维来判断转向dp设计状态设计\(dp_{i,0/1}\)表示第i个点,是向左下还是右上状态转移
- 2024-10-07雅礼国庆集训 day1 T1 养花
题面题目下载算法考虑当\(k\)确定的时候如何求答案,显然对于所有形如\([ak,(a+1)k)\)的值域区间,最大值一定是最优的似乎怎么都是\(O(n^2)\)的算法观察到\(a_i\)的值域比较小,所以考虑桶显然对于一段区间\([L,R]\)我们可以推出其\(modk\)的最大值方法
- 2024-10-03[NOIP2015 提高组] 子串
算法状态定义最初显然可以想到\(f[i][j][k]\)表示\(A\)串前\(i\)个,\(B\)串前\(j\)个,分割了\(k\)个子串但是这样无法递推\(k\)维于是加上一位\(f[i][j][k][0/1]\),最后一维表示是否选择\(A\)子串当前这一位,也就可以递推的计算状态转移当前位置不使
- 2024-10-03基础算法--递归算法【难点、重点】
今天我们即将要开始讲解算法中第一块儿难啃地骨头--递归了,相信有不少小伙伴都因递归而迷惑过,本文就来给大家详细的讲解一下递归到底是什么东西。让你也能瞬间将他打回原形。递归的理解在学习递归之前,我们先理解递归。什么是递归呢?从名字上看我们可以想到递进+回归两个
- 2024-09-18算法:动态规划思路(仅作记录)
以leetcode70题爬楼梯为例:假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?递归一共两种爬楼梯的方式如果最后一步要用到方法1,那么我们得先爬到n−1,要解决的问题缩小成:从0爬到n−1有多少种不同的方法。
- 2024-09-10力扣474-一和零(Java详细题解)
题目链接:474.一和零-力扣(LeetCode)前情提要:因为本人最近都来刷dp类的题目所以该题就默认用dp方法来做。最近刚学完01背包,所以现在的题解都是以01背包问题为基础再来写的。如果大家不懂01背包的话,建议可以去学一学,01背包问题可以说是背包问题的基础。如果大家感兴趣,
- 2024-09-05高中数学 线性递推
一阶线性递推定义\(a_{n+1}=pa_n+q,p\neq1\)不动点想法是上面这个式子跟等比数列有点像,那么我们想办法把它转化过去。取\(r\operatorname{s.t.}a_{n+1}-r=p\left(a_n-r\right)\),则\(\left\{a_n-r\right\}\)就是公比为\(p\)的等比数列。化开来,\(a_{n+1}=pa_n+r-pr=p_an+
- 2024-09-03推断二叉树(递推)
已知前序中序求后序#include<cstring>#include<cstdio>#include<iostream>usingnamespacestd;voidbinary_tree(stringmid,stringpre){ if(mid.size()>0){ charch=pre[0]; intcur=mid.find(ch); binary_tree(mid.substr(0,cur),pre
- 2024-08-28递推配套P1192 & 题解:P1192 台阶问题
我们现在考虑递推。现在的问题是,如何从前几个数据推导出下一个数据。我们现在先推导\(f(n)\)。设\(k=3\)。到\(n\)的方法就是到能一步到\(n\)的台阶的方法总和,所以我们可以推导出:\(f(n)=f(n-1)+f(n-2)+\dots+f(n-k)/f(1)\)。即为:\(f(n)=\sum_{i=
- 2024-08-24线性dp:最长公共子串
最长公共子串本文讲解的题与leetcode718.最长重复子数组,题意一模一样,阅读完本文以后可以去挑战这题。力扣链接题目叙述:给定两个字符串,输出其最长公共子串的长度。输入ABACCBAACCAB输出3解释最长公共子串是ACC,其长度为3。与最长公共子序列的区别公共子串:字符必须
- 2024-08-23线性dp:最长公共子串
最长公共子串本文讲解的题与leetcode718.最长重复子数组,题意一模一样,阅读完本文以后可以去挑战这题。力扣链接题目叙述:给定两个字符串,输出其最长公共子串的长度。输入ABACCBAACCAB输出3解释最长公共子串是ACC,其长度为3。与最长公共子序列的区别公共子串:字符必须
- 2024-08-20动态规划方法论
动态规划动态规划,英文:DynamicProgramming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的,我在这里举一个典型的动态规划的问题——背包问题:例如
- 2024-08-19动态dp & 矩阵加速递推
广义矩阵乘法我们定义两个矩阵\(A,B\)在广义矩阵乘法下的乘积为\(C\),其中\[C=\begin{bmatrix}\max\limits_{i=1}\limits^{m}A_{1,i}+B_{i,1}&\max\limits_{i=1}\limits^{m}A_{1,i}+B_{i,2}&\dots&\max\limits_{i=1}\limits^{m}A_{1,i}+B_{i,k}\\\