312.戳气球


  • 将戳气球转换到添加气球,记忆搜索
  • slove(i,j):在开区间(i,j)全部填满气球得到的最多硬币数,两端val[i]、val[j]
cpp 复制代码
class Solution {
public:
    vector<vector<int>> ans;
    vector<int> val;

    int slove(int left,int right){
        if(left>=right-1) return 0;
        if(ans[left][right]!=-1) return ans[left][right];

        
        for(int i=left+1;i<right;i++){
            int sum=val[left]*val[i]*val[right];
            sum+=slove(left,i);
            sum+=slove(i,right);
            ans[left][right]=max(ans[left][right],sum);
        }
        return ans[left][right];
    }

    int maxCoins(vector<int>& nums) {
        int n=nums.size();
        val.resize(n+2);
        for(int i=1;i<=n;i++){
            val[i]=nums[i-1];
        }
        val[0]=val[n+1]=1;

        ans.resize(n+2,vector<int>(n+2,-1));
        return slove(0,n+1);
    }
};
相关推荐
charlie11451419120 分钟前
理解C++20的革命特性——协程支持2:编写简单的协程调度器
c++·学习·算法·设计模式·c++20·协程·调度器
hadage23325 分钟前
--- 常见排序算法汇总 ---
算法·排序算法
Mrs.Gril1 小时前
目标检测:yolov7算法在RK3588上部署
算法·yolo·目标检测
WWZZ20252 小时前
ORB_SLAM2原理及代码解析:单应矩阵H、基础矩阵F求解
线性代数·算法·计算机视觉·机器人·slam·基础矩阵·单应矩阵
2401_841495643 小时前
【计算机视觉】分水岭实现医学诊断
图像处理·人工智能·python·算法·计算机视觉·分水岭算法·医学ct图像分割
liulilittle3 小时前
网络编程基础算法剖析:从字节序转换到CIDR掩码计算
开发语言·网络·c++·算法·通信
Kent_J_Truman3 小时前
【第几小 / 分块】
算法·蓝桥杯
搂鱼1145143 小时前
sosdp
算法
艾醒4 小时前
探索大语言模型(LLM):参数量背后的“黄金公式”与Scaling Law的启示
人工智能·算法
艾醒4 小时前
探索大语言模型(LLM):使用EvalScope进行模型评估(API方式)
人工智能·算法