輸入幾種方塊,當方塊的長寬小於下面那個時可以放在上面,求最大方塊的高度。(方塊可以無限)
每個方塊有6種不同的狀態,比如(10,20,30),(10,30,20)等等。30個方塊的話,最多有180種形態。
思路:把所有的方塊按照x從大到小排列,狀態轉化方程類似最大遞增子串行。
if (dp[i].z + temp.z > dp[dp_i].z) dp[dp_i].z = dp[i].z;
#include
#include
using
namespace
std;
struct box
}dp[200],box1;
int n;int x, y, z;
priority_queueq;
int main()
while (n--)
; q.push(box1);
box1 = ; q.push(box1);
box1 = ; q.push(box1);
box1 = ; q.push(box1);
box1 = ; q.push(box1);
box1 = ; q.push(box1);
}int dp_i=1,max=0;
while (q.size()>0)
dp[dp_i].z = dp[dp_i].z + temp.z;
if (dp[dp_i].z>max) max = dp[dp_i].z;
dp_i++;
}cout
<< "case "
<": maximum height = "
0;}
HDU 1087 最大遞增子串行和
super jumping!jumping!jumping!題意 無聊的猿發明了 人贏跳跳棋 規則是要從start end,中途可以間隔著跳過若干個格仔,但是下一步位置的權值必須大於當前格仔的權值。最後,所經過格仔的權值和大的獲勝。分析 不連續的最大遞增子串行和問題。當我以第 i 個格仔作為終點時我...
演算法 遞增子串行最大長度
給定乙個整數陣列nums,找到其中最長嚴格遞增子串行的長度,以下為示例,leetcode 鏈結 輸入 nums 10 9,2 5,3 7,101,18 輸出 4 解釋 最長遞增子串行是 2,3,7,101 因此長度為 4子串行是由陣列派生而來的序列,刪除 或不刪除 陣列中的元素而不改變其餘元素的順序...
最長遞增子串行問題(最大流)
description 給定正整數序列x1 xn 1 計算其最長遞增子串行的長度s。2 計算從給定的序列中最多可取出多少個長度為s的遞增子串行。3 如果允許在取出的序列中多次使用x1和xn,則從給定序列中最多可取出多少個長度為s的遞增子串行。設計有效演算法完成 1 2 3 提出的計算任務。input...