Python_enjoy 2024-01-26 16:47 采纳率: 76.9%
浏览 3
已结题

怎么优化啊+-*/C++

这怎么优化啊

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

  • 写回答

2条回答 默认 最新

  • 哎呀呀不会啊 2024-01-26 17:09
    关注
    #include <bits/stdc++.h>  
    using namespace std;  
      
    long long x,y,z;  
    map<long long, long long> memo;   
      
    long long f(long long i)  
    {  
        if(memo.count(i)) return memo[i]; / 
        if(i<=x+2)  
            return 1;  
        long long result = f(i-1) + f(i-x-2)*y;  
        memo[i] = result;   
        return result;  
    }  
      
    int main() {  
        cin>>x>>y>>z;  
        cout<<f(1+z);  
        return 0;  
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月27日
  • 已采纳回答 1月27日
  • 创建了问题 1月26日

悬赏问题

  • ¥20 这张图页脚具体代码该怎么写?
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22