首页 > 其他分享 >lc2312 卖木头块

lc2312 卖木头块

时间:2024-03-23 20:22:17浏览次数:17  
标签:205 切割 int 木块 long 木头 prices lc2312

给定高为m、宽为n的木块,同时给出prices[i]={h[i],w[i],price[i]},表示高为h[i]、宽为w[i]的木块可以卖得price[i]的钱。切割木块时只能水平或垂直一切到底,木块不能旋转,切割次数不限,求最多能卖多少钱。
1<=m,n<=200; 1<=prices.length<=2e4; 1<=h[i]<=m; 1<=w[i]<=n; 1<=price[i]<=1e6; (h[i],w[i])各不相同。

动态规则,从小到大计算,每次枚举切割方向和切割位置,进行递推。

class Solution {
public:
    long long p[205][205], dp[205][205];
    long long sellingWood(int m, int n, vector<vector<int>>& prices) {
        for (auto &i : prices) {
            p[i[0]][i[1]] = i[2];
        }
        for (int i = 1; i <= m; i++) {
            for (int j = 1; j <= n; j++) {
                dp[i][j] = p[i][j];
                for (int k = 1; k < i; k++) {
                    dp[i][j] = max(dp[i][j], dp[k][j]+dp[i-k][j]);
                }
                for (int k = 1; k < j; k++) {
                    dp[i][j] = max(dp[i][j], dp[i][k]+dp[i][j-k]);
                }
            }
        }
        return dp[m][n];
    }
};

标签:205,切割,int,木块,long,木头,prices,lc2312
From: https://www.cnblogs.com/chenfy27/p/18091621

相关文章

  • 【LeetCode 2312】卖木头块
    题目描述原题链接:2312卖木头块解题思路每次切割只能完全横切或者竖切,即切成更矮或者更窄的木块;每次切割后剩余的两部分木块都是更小规模的同类问题,典型的可以用动态规划求解的问题;具体到单个问题,高x宽y的木块能卖的最多钱数有三种情况:prices数组中正好有对应宽高的价格......
  • 深度学习入门 & 王木头学科学
    感知机perceptron线性函数+阶跃函数;分界线+判断处于分界线的哪一边.感知机的提出:解决非解析问题的简单模板.感知机的缺陷:异或问题.通过增加层,提高维度.多层感知机与神经网络的区别:激活函数是否连续.连续光滑的函数是学习的一个关键要素.损失函数......
  • 123木头人
    html+css入门:html入门教程_html教程-CSDN博客HTML+CSS小白入门与进阶教程-CSDN博客......
  • 王木头课程
    卷积 右下角是卷积公式形象的讲,f(x)表示我的进食量,即左上角这张图,每一个时刻都在吃进不同量的食物,g(t)表示某食物经过t小时后,在肚子里还剩下多少(比例)。那么卷积实际上就是求每一个时刻都在进食,且肚子里的食物在不断消化的情况下,任意时刻时,肚子里还剩下的食物。f(x)g(t-x)相乘......
  • 《突然发现邦钦孙和那些觉得“1kg水不能浮起10kg的木头”的人一样》 回复
    《突然发现邦钦孙和那些觉得“1kg水不能浮起10kg的木头”的人一样》    https://tieba.baidu.com/p/8081948883 6楼@小小泡泡飘飘@tigeduy@星野梦美a (宇心......