随笔分类 - 2022暑期集训:第32课:递归递推-真题训练
递归,能够大大简化代码量,是许多重要算法实现的基础方法,比如快排,深搜等,经常是自上而下;递推,既是数学,又是算法,也是递归的一中应用,往往是自下而上,是DP实现的基础方法。
摘要:[2013年NOIP提高组] 积木大赛 思路:只需要进行n次循环,(两个数之间,如果后面的数大于前面的)用后面的数-前面的差值累加,就能得出操作次数啦~ 代码如下: #include<iostream> #include<cmath> using namespace std; int main()
阅读全文
摘要:[2004年NOIP普及组] FBI树 思路:运用递归。已知“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。 写一个后序遍历的函数,然后递归,自己调用自己就好了。每次输出根节点,直至全部输出。 代码如下: #include<bits/s
阅读全文
摘要:[2001年NOIP普及组] 求先序排列 思路:递归分治,找到根节点之后把左右子树分开再递归。写一个递归函数,参数为树分别在序列中的下标位置midL,midR,lterL,lterR,在中序中和在后序中。 直接拜访后序最后一个下标根节点的位置,在中序中找到这个根节点pRoot的位置,再分成左右子树,
阅读全文
摘要:[2001年NOIP普及组] 数的计算 分析: a[1] = 1 a[2] = a[1] + 1 a[3] = a[1] + a[2] + 1 a[4] = a[1] + a[2] + 1 a[6] = a[1] + a[2] +a[3] + 1 eg: 满足6的数有“6, 3 6, 1 3 6,
阅读全文

浙公网安备 33010602011771号