![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
递归&递推&搜索
文章平均质量分 56
递归&递推&搜索问题
{∞}
自然选择,前进四!
展开
-
【c++入门(2)】递归
这个应该放在前面上的,只不过一cha忘了,今天我们把递归学习完。递归和递推名字很像,很多递归的入门题都可以用递推AC,但是递归也是一种很多问题的解法,是必不可少的一个知识点,话不多说,直接如题。【基础问题】n的阶乘可表示为 n! =123*……(n-1)n,1! = 1。例如3的阶乘3!=123 =6。输入一个整数n(n<=15);输出n的阶乘。解题思路:设:n的阶乘为f(n),观察可知f(n) = n * f(n-1)我们用递推先来解一下:#include <iostream&原创 2022-04-13 22:16:11 · 746 阅读 · 0 评论 -
【c++入门(2)】搜索2
一、全排列问题问题简述问题求解列出所有从数字1到数字n的连续自然数的排列,要求所产生的人一数字序列中不允许出现重复的数字。输入格式一个正整数N(N<=20)输出格式若干行,由1-n组成的所有不重复的数字排列,每行一个序列。要求按照样例的所示的按字典序输出输出。Sample Input3Sample Output1 2 31 3 22 1 32 3 13 1 23 2 1思路1:这个问题有多个解,其中每个解都包含n个数字,如果n是确定的,则可以通过n层fo原创 2022-05-23 20:26:15 · 196 阅读 · 0 评论 -
滑雪c++【记忆化搜索】
题目描述:改变方向直接xx = x + dx[i] , yy = y + dy[i]判断是否在地图内直接xx >= 1 && xx = 1 && yy原创 2022-06-30 15:34:22 · 599 阅读 · 0 评论 -
选数c++【dfs】
题目描述:思路:数据范围很小,所以爆搜,dfs这k个数,接着判断质数 ,不需要优化:原创 2022-06-29 14:47:56 · 580 阅读 · 0 评论 -
【c++入门(2)】搜索1
一 <导入>搜索和枚举谈区别,枚举解决的是你知道有几层循环,才能去一个一个地去列举一种方案,接着进行操作。而在不知道循环层数的情况下,暴力枚举是解决不了问题的,难道写一个:if(n==1)for()if(n==2)for()for().......if(n==∞)for()for()for()......这肯定是b行的,所以搜索是可以考虑的,在有一些题目中需要DP,但是搜索解决的题目不一定DP就能派上用场,然而每一个DP都可以用递归的形式写。二、 <初探>我们这次原创 2022-05-06 23:00:13 · 643 阅读 · 0 评论 -
【c++提高1】迭代加深搜索&双向搜索
迭代加深搜索:首先深度优先搜索d层,若没有找到可行解,再深度优先搜索d+1层,以此类推,直到找到可行解为止。① 首先搜索A部分的礼物,将搜索出的重量在[0, w]之间的所有值保存为数组X,并排序去重。② 接着搜索B部分的礼物,对于搜索出的每个...原创 2022-08-18 23:00:49 · 373 阅读 · 0 评论