今天新了解的打表

#include <iostream>
using namespace std;
long long dfs(int x) //深搜
{
 if(x==1) return 1;
 long long tot=1; //加上自身,所以初始化是 1 
 for(int i=1;i<=x/2;i++) //列举 
 	tot+=dfs(i);
 return tot;
}
int main()
{
 cout<<"a[1001]={";  //便于直接复制 
 for(int i=1;i<=1000;i++) //枚举所有数 
 {
 	cout<<dfs(i)<<",";
 }
 cout<<"}";
}```
打表法就是将题目中需要的答案集合提前算出来,存到代码里,根据题目所需取答案,这种方法通常只需要将程序挂着,在表打完后进行加工,最终取答案程序时间复杂度为O(1),空间复杂度为O(n)(n为答案规模); 
                     ——沃兹·基朔德
 posted on 2021-04-01 13:50  光学  阅读(51)  评论(0编辑  收藏  举报