【记忆化搜索】

目录

  • 知识框架
  • No.0 筑基
  • No.1 记忆化搜索
    • 题目来源:LeetCode-70-爬楼梯
    • 题目来源:LeetCode-397-整数替换
    • 题目来源:蓝桥杯-2014省赛-地宫取宝

知识框架

No.0 筑基

请先学习下知识点,道友!
题目知识点大部分来源于此:OI WiKi里面的知识点讲解

题目例题大部分来源于此:LeetCode中的记忆化搜索题目

No.1 记忆化搜索

题目来源:LeetCode-70-爬楼梯

题目描述:

题目思路:

题目代码:

题目来源:LeetCode-397-整数替换

题目描述:
【记忆化搜索】_第1张图片

题目思路:

递归操作,想到进行记忆化才行

题目代码:

//对于N要进行适应性的更改,对于字段错误
#include
using namespace std;
#define inf 0x3f3f3f3f
#define N 505
int n,m,k,g,d;
int x,y,z;
char ch;
string str;
vector<int>v[N];

int minn=inf;
int vis[N]={0};
//方法一对于同一个 x,可能被搜索多次,因此可以将计算过的值,
//用哈希表存储起来,这样下次再搜索到的时候,可哈希表直接返回。
void dfs(int index,int num){
	
	if(index==1){
		minn=min(minn,num);
		return ;
	}
	if(vis[index]==1){
		return ;
	}
	
	if(index%2==0){
	
		dfs(index/2,num+1);
		vis[index/2]=1;
	}else{
	
		dfs((index+1)/2,num+1);
		dfs((index-1)/2,num+1);
		vis[(index+1)/2]=1;
		vis[(index-1)/2]=1;
	}
}
int main() {
	cin>>n;
	dfs(n,0);
	cout<<minn<<endl;
	return 0;
}







题目来源:蓝桥杯-2014省赛-地宫取宝

题目描述:

【记忆化搜索】_第2张图片

题目思路:

题解

题目代码:

你可能感兴趣的:(#,题宗者-往复耶,蓝桥杯,算法,职场和发展)