【dp】HDU - 1069 Monkey and Banana
/*
基礎dp
C - Monkey and Banana
時間: 2017/02/20
題意:疊放立方體,使其疊的高度最大。在按底的長寬排序後,進行求最大子序列和
題解:
1. 在按底的長寬排序後,進行求最大子序列和
2. 類似巢狀問題,記憶化搜尋
*/
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
using namespace std;
#define N 210
#define INF 0x3f3f3f3f
struct code
{
int x,y,z;
}f[N];
int mp[N][N],dp[N];
int n;
int dfs(int i)
{
int &ans = dp[i];
if(ans > 0) return ans;
ans = f[i].z;
for(int j = 0; j < 3*n; j++)
{
if(mp[i][j])
ans = max(ans, dfs(j)+f[i].z);
}
return ans;
}
int main()
{
int k = 0;
while(~scanf("%d",&n)&&n)
{
k++;
int n1 = n;
int i = 0;
while(n1--)
{
int a[3];
scanf("%d%d%d",&a[0],&a[1],&a[2]);
sort(a,a+3);
f[i].y = f[i+1].z = f[i+2].x = a[1];
f[i].x = f[i+1].x = f[i+2].z = a[2];
f[i].z = f[i+1].y = f[i+2].y = a[0];
i += 3;
}
memset(mp,0,sizeof(mp));
memset(dp,0,sizeof(dp));
for(int i = 0; i < 3*n; i++)
{
for(int j = 0; j < 3*n; j++)
{
if(f[i].x < f[j].x && f[i].y < f[j].y)
mp[i][j] = 1;
}
}
int maxn = 0;
for(int i = 0; i < 3*n; i++)
{
maxn = max(maxn,dfs(i));
}
printf("Case %d: maximum height = %d\n",k,maxn);
}
return 0;
}
相關文章
- hdu 1069 Monkey and Banana(簡單dp)NaN
- 「暑期訓練」「基礎DP」 Monkey and Banana (HDU-1069)NaN
- zoj 1093 dp Monkey and BananaNaN
- hdu1069javaJava
- HDU 3853 LOOPS(概率dp)OOP
- HDU 4669 Mutiples on a circle (DP , 統計)
- 【基礎dp】HDU 1260 Tickets
- hdu 3401 單調佇列+DP佇列
- HDU 4455 Substrings(預處理+dp)
- HDU 6415 Rikka with Nash Equilibrium (DP)UI
- HDU 3853 LOOPS:期望dp【網格型】OOP
- hdu4374單調佇列+dp佇列
- HDU 5119 Happy Matt Friends(DP)APP
- HDU 5326 Work (基礎樹形dp)
- hdu 4123 樹形DP+RMQMQ
- HDU6415:Rikka with Nash Equilibrium(dp)UI
- 【基礎dp】HDU 1176 免費餡餅
- HDU 5067 Harry And Dig Machine(狀壓dp)Mac
- HDU 1227 Fast Food(簡單二維dp)AST
- HDU4427Math Magic (dp+滾動陣列)陣列
- HDU 3530 Subsequence (dp+單調佇列)佇列
- hdu 3507 斜率優化DP入門題優化
- hdu ---(4517)小小明系列故事——遊戲的煩惱(Dp)遊戲
- HDU3944 DP? (LUCAS定理+階乘預處理)
- 【基礎dp】HDU 1257 最少攔截系統
- hdu4313 貪心並查集 || 樹形dp並查集
- HDU 4326Game(比較難理解的概率dp)GAM
- hdu5435 數位dp(大數的處理)
- HDU7458-啟發式合併最佳化DP
- HDU-6415 Rikka with Nash Equilibrium (DP/找規律)UI
- HDU 1028 Ignatius and the Princess III:dp or 母函式函式
- HDU-1466 計算直線的交點數 DP
- HDU 5119 Happy Matt Friends(簡單二維dp)APP
- 「暑期訓練」「基礎DP」免費餡餅(HDU-1176)
- HDU 4427 Math Magic【dp+優化+滾動陣列】【好題】優化陣列
- HDU 1466 計算直線的交點數(簡單dp)
- HDU3519Lucky Coins Sequence(DP+矩陣加速)矩陣
- Monkey命令