HDU 1069 Monkey and Banana DP LIS
2013-12-03 21:32
309 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1069
题目大意
一群研究员在研究猴子的智商(T T禽兽啊,欺负猴子!!!),他们决定在房顶放一串香蕉,并且给猴子n种砖块。
砖块长宽高分别为xyz,每一种可以取任意个,并且他们可以随意的摆放。
然后要求堆叠起来的砖块上面的必须严格小于下面的。
求最大可以堆叠的高度。
思路:
转化为LIS问题,把每一种摆放方法如(10,20,30)(可以以20 30 作为底,10作为高)都放进数组,然后就是求最大上升子序列。
题目大意
一群研究员在研究猴子的智商(T T禽兽啊,欺负猴子!!!),他们决定在房顶放一串香蕉,并且给猴子n种砖块。
砖块长宽高分别为xyz,每一种可以取任意个,并且他们可以随意的摆放。
然后要求堆叠起来的砖块上面的必须严格小于下面的。
求最大可以堆叠的高度。
思路:
转化为LIS问题,把每一种摆放方法如(10,20,30)(可以以20 30 作为底,10作为高)都放进数组,然后就是求最大上升子序列。
#include<cstdio> #include<algorithm> using namespace std; const int MAXN=200; struct data { int x,y; int h; }a[MAXN]; bool operator <(const data &a,const data &b) { return a.x<b.x; } int main() { int n; int kase=1; while(scanf("%d",&n),n) { int len=0; int x,y,z; for(int i=0;i<n;i++) { scanf("%d%d%d",&x,&y,&z); a[len].x=x; a[len].y=y; a[len++].h=z; a[len].x=x; a[len].y=z; a[len++].h=y; a[len].x=y; a[len].y=x; a[len++].h=z; a[len].x=y; a[len].y=z; a[len++].h=x; a[len].x=z; a[len].y=x; a[len++].h=y; a[len].x=z; a[len].y=y; a[len++].h=x; } sort(a,a+len); int dp[MAXN]; for(int i=0;i<len;i++) { dp[i]=a[i].h; int temp=0; for(int j=0;j<i;j++) { if(a[i].x>a[j].x && a[i].y >a[j].y) temp=max(temp,dp[j]); } dp[i]+=temp; } int ans=0; for(int i=0;i<len;i++) ans=max(ans,dp[i]); printf("Case %d: maximum height = %d\n",kase++,ans); } return 0; }
相关文章推荐
- 【HDU 1069 】Monkey and Banana 【 求LIS的思想 DP 】
- HDU 1069 Monkey and Banana DP LIS
- 【DP|LIS】HDU-1069 Monkey and Banana
- hdu 1069 Monkey and Banana 再来一波DP啦~~LIS的变形,会最大上升子序列就可以A啦~
- HDU 1069 Monkey and Banana DP LIS变形题
- Hdu 1069 Monkey and Banana -- DP
- [简单DP]Monkey and Banana HDU - 1069
- hdu1069 Monkey and Banana(二维LIS)
- HDU_1069 Monkey and Banana (DP)
- HDU 1069 Monkey and Banana——DP
- hdu -1069 Monkey and Banana【贪心+dp】
- HDU 1069 Monkey and Banana(dp最长上升子序列)
- hdu 1069 Monkey and Banana(类似最长上升子序列,dp)
- HDU:1069 Monkey and Banana(经典动态规划DP)
- HDU 1069 Monkey and Banana(DP)
- hdu 1069 Monkey and Banana (DP)
- hdu 1069 Monkey and Banana(简单dp)
- hdu1069 Monkey and Banana(dp+贪心)
- HDU 1069 Monkey and Banana(DP)
- hdu 1069 Monkey and Banana LIS变形