今天新了解的打表
#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为答案规模);
——沃兹·基朔德
learn to say no and not be a yes man