312.戳气球


  • 将戳气球转换到添加气球,记忆搜索
  • slove(i,j):在开区间(i,j)全部填满气球得到的最多硬币数,两端vali、valj
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);
    }
};
相关推荐
Gauss松鼠会1 小时前
【GaussDB】GaussDB锁阻塞源头查询
java·开发语言·前端·数据库·算法·gaussdb·经验总结
oier_Asad.Chen1 小时前
【洛谷题解/AcWing题解】洛谷P4011 孤岛营救问题/AcWing1131拯救大兵瑞恩
数据结构·笔记·学习·算法·动态规划·图论·宽度优先
冻柠檬飞冰走茶2 小时前
PTA基础编程题目集 7-19 支票面额(C语言实现)
c语言·开发语言·数据结构·算法
船漏了就会沉2 小时前
状态压缩DP:小数据下的“暴力美学”
算法
你怎么知道我是队长2 小时前
计算机虚拟存储管理与页面置换算法详解
服务器·网络·算法
罗西的思考2 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 — (14)— Teacher
人工智能·笔记·深度学习·算法·机器学习
塔能物联运维2 小时前
塔能两相液冷:600W/cm²极限能力,为下一代AI芯片预留充足散热余量
人工智能·算法·两相液冷
醉城夜风~3 小时前
手撕 C++ string:从零实现一个简易字符串类
开发语言·c++·算法
手写码匠3 小时前
华为云Flexus+DeepSeek征文|DeepSeek+RAG知识库实战:基于Flexus X实例与Dify构建企业级智能问答系统
人工智能·深度学习·算法·aigc
青山木3 小时前
Hot 100 --- 组合总和
java·数据结构·算法·leetcode