40分求助

P1255 数楼梯

ANGELA2002 @ 2021-03-20 10:15:35

#include<bits/stdc++.h>
using namespace std;
long int f(long int n){
    if(n==1)return 1;
    if(n==2)return 2;
    return f(n-1)+f(n-2);
}
int main(){
    long int n;
    cin>>n;
    cout<<f(n);
    return 0;
}

TLE还有MLE


by _caiji_ @ 2021-03-20 10:20:41

记忆化


by xtzic @ 2021-03-20 10:21:00

@ANGELA2002 这样写是 O(ans) 的,需要记忆化。另外,这道题需要高精度。


by ANGELA2002 @ 2021-03-20 10:29:03

记忆化怎么做,请教


by Autisia @ 2021-05-31 22:02:08

记忆化:把算过的结果存在数组里,减少重复计算。


by 一洛本谷通 @ 2021-09-04 15:59:44

要用高精度


|