全部评论 3

  • 暴力出奇迹,结果TLE

    1周前 来自 浙江

    0
  • #include<bits/stdc++.h>
    using namespace std;
    using ll=long long;
    ll dp[10000001]; // 记忆化搜索
    ll fb(ll x){
        if(dp[x]) return dp[x]; // 如果曾经被记录过,直接返回
        if(x<=2){
            return 1;
        }
        return dp[x]=fb(x-1)+fb(x-2); // 返回的同时记录
    }
    int main(){
        ll n;
        cin>>n;
        cout<<fb(n);
        return 0;
    }
    

    2025-04-04 来自 北京

    0
  • 你这个的时间复杂度约为 O(1.618n)O(1.618^n),会超时。
    建议学习一下记忆化或递推。

    2025-04-04 来自 广东

    0

热门讨论