今天不想说太多废话~由于等下要写自己主动提交机。

不知道能不能成功呢?

题目的意思就是,一个猴子,在叠砖头 ...以下的要严格大于上面的。求叠起来最高能到多少~

n非常少,n^2算法毫无压力~话说dp的n一般都小。

我们先排序。拍完序的状态转移方程是:  dp[i]=max(dp[j])+z[i],0<=i<=j。记得要等于。

之后再线性遍历一下找出max ,不然还是WA~

还有在读入的时候,一个砖生成六个砖,能够自己暴力模拟一下。我是走循环的~

这个循环条件我也不知道怎么说。我仅仅是认为推断两两不相等好麻烦,我这个映射在小范围没出现过问题。

/***********************************************************
> OS : Linux 3.2.0-60-generic #91-Ubuntu
> Author : yaolong
> Mail : dengyaolong@yeah.net
> Time : 2014年06月03日 星期二 07:11:21
**********************************************************/
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
#define maxn 200
int x[maxn];
int y[maxn];
int z[maxn];
int dp[maxn];
int I[maxn];
int cmp(int i,int j){
if(x[i]!=x[j]){
return x[i]<x[j];
}
return y[i]<y[j];
}
int main(){
int n,i,j,tmp[3];
x[0]=y[0]=z[0]=0;
int sb=1;
while(cin>>n&&n){ int ind=1;
for(i=0;i<n;i++){
for (j=0;j<3;j++){
cin>>tmp[j];
}
for(int l=0;l<3;l++)
for(int k=0;k<3;k++)
for(int m=0;m<3;m++){
if(l*l+k*k+m*m==5){
x[ind]=tmp[l]; y[ind]=tmp[k];z[ind]=tmp[m];ind++;
} }
}
for(i=0;i<ind;i++){
I[i]=i;
}
sort(I,I+ind,cmp);
memset(dp,0,sizeof(dp));
for(i=0;i<ind;i++){
int mmax=0;
for(j=0;j<=i;j++){
if(x[I[j]]<x[I[i]]&&y[I[j]]<y[I[i]])
mmax=max(dp[I[j]],mmax);
}
dp[I[i]]=z[I[i]]+mmax;
}
int ans=0;
for(i=0;i<ind;i++){
ans=max(ans,dp[i]);
}
//for (i=1;i<ind;i++)
printf("Case %d: maximum height = %d\n",sb++,ans); } return 0;
}

HDU1069(还是dp基础)的更多相关文章

  1. 【专章】dp基础

    知识储备:dp入门. 好了,完成了dp入门,我们可以做一些稍微不是那么裸的题了. ----------------------------------------------------------- ...

  2. 【学习笔记】dp基础

    知识储备:dp入门. 好了,完成了dp入门,我们可以做一些稍微不是那么裸的题了. dp基础,主要是做题,只有练习才能彻底掌握. 洛谷P1417 烹调方案 分析:由于时间的先后会对结果有影响,所以c[i ...

  3. hdu 2089 不要62 (数位dp基础题)

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  4. poj 2955 Brackets (区间dp基础题)

    We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a ...

  5. DP基础(线性DP)总结

    DP基础(线性DP)总结 前言:虽然确实有点基础......但凡事得脚踏实地地做,基础不牢,地动山摇,,,嗯! LIS(最长上升子序列) dp方程:dp[i]=max{dp[j]+1,a[j]< ...

  6. 树形dp基础

    今天来给大家讲一下数形dp基础 树形dp常与树上问题(lca.直径.重心)结合起来 而这里只讲最最基础的树上dp 1.选课 题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程 ...

  7. poj2642 The Brick Stops Here(DP基础题)

    比基础的多一点东西的背包问题. 链接:POJ2642 大意:有N种砖,每种花费p[i],含铜量c[i],现需要用M种不同的砖融成含铜量在Cmin到Cmax之间(可等于)的砖,即这M种砖的含铜量平均值在 ...

  8. UVA103 dp基础题,DAG模型

    1.UVA103 嵌套n维空间 DAG模型记忆化搜索,或者 最长上升子序列. 2.dp[i]=max( dp[j]+1),(第i个小于第j个) (1) //DAG模型记忆化搜索 #include< ...

  9. hdu 1561 The more, The Better(树形dp,基础)

    The more, The Better Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

随机推荐

  1. 怎么发现RAC环境中&#39;library cache pin&#39;等待事件的堵塞者(Blocker)?

    怎么发现RAC环境中的'library cache pin'等待事件的堵塞者(Blocker) 參考自 How to Find the Blocker of the 'library cache pi ...

  2. android 工具类 DateUtil

    提取了一些在开发过程中可能会用到的日期相关的函数作为工具类.供大家參考: /** * 日期操作工具类. * * @author shimiso */ public class DateUtil { p ...

  3. SPClaimsUtility.AuthenticateFormsUser 方法的一个小问题

    前言 最近,开启了Form认证,发现Form账号前面加空格,或者后面加空格都可以登录站点,但是提示未共享. 解决方法 后来bing了很多帖子,发现大家都遇到过类似的问题,问题是由于SPClaimsUt ...

  4. 如何解决SSH连接Linux超时自动断开?

    最近项目开发中用到云服务器,部署了MySQL,开发团队总是反映MySQL过一会儿就断开连接了,必须手动重连才可以.反映越来越强烈,已经到了影响开发进度的高度了,必须解决! 查了资料,这个可能和SSH超 ...

  5. 用自定义的RoundImageView来实现圆形图片(可加边框)

    本文的控件来自:http://blog.csdn.net/alan_biao/article/details/17379925 这个控件不同于之前介绍过的那个框架,这个仅仅能过将图片裁剪为圆形,没能弄 ...

  6. 使用自定义的Adapter来设置ListView的内容

    这里主要是学习的Adapter的机制 MainActivity.java package com.kale.listview; import android.app.Activity; import ...

  7. Spring data jpa Specification查询关于日期的范围搜索

    代码: 时间格式化类型: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat s ...

  8. [Android Pro] 深入理解函数的调用过程——栈帧

    cp :http://blog.csdn.net/x_perseverance/article/details/78897637 每一个函数被调用时,都会为函数开辟一块空间,这块空间就称为栈帧. 首先 ...

  9. Orchard 前台权限与自定义权限

    一:关于前台权限 1:只允许自己看到 首先,我们需要确定在 Role 设置页面,用户所对应的 View Page by others 和 View all content 未被选中.备注,我们首先和得 ...

  10. EF更新指定字段.或个更新整个实体

    EF更新指定字段.或个更新整个实体 更新整个实体: public bool Update(Company compay) { if (compay != null) { dbContext.Entry ...