为什么一个输入数据记忆化能优化时间复杂度?
  • 板块P1255 数楼梯
  • 楼主_SGH_
  • 当前回复8
  • 已保存回复9
  • 发布时间2024/12/1 09:46
  • 上次更新2024/12/1 11:56:07
查看原帖
为什么一个输入数据记忆化能优化时间复杂度?
901003
_SGH_楼主2024/12/1 09:46

记忆化的代码

include <bits/stdc++.h>
using namespace std;
long long shao[55];
long long ss(int m){
	if(shao[m]!=0) return shao[m];
	if(m == 1){
		return 1;
	}
	if(m == 2){
		return 2;
	}
	shao[m]= ss(m-1)+ss(m-2);
	return shao[m]; 
}
int main(){
	int n;
	cin >> n;
	cout << ss(n);
	
	return 0;
} ``````
没记忆化的:
```cpp
#include <bits/stdc++.h>
using namespace std;
long long shao[55];
long long ss(int m){
	if(m == 1){
		return 1;
	}
	if(m == 2){
		return 2;
	}
	return ss(m-1)+ss(m-2); 
}
int main(){
	int n;
	cin >> n;
	cout << ss(n);
	
	return 0;
}
2024/12/1 09:46
加载中...