hdu1069 dp】的更多相关文章

题意:有若干种不同规格(长.宽.高)的砖块,每种砖块有无数个,可以自由选择以砖块的哪条边做长.宽或高,用这些砖块搭高塔,要求上面砖块的长宽必须严格小于下面砖块的长宽,问塔最高能有多高 我的做法是每读入一组长宽高,就把它分为三种不同的.长宽高定好的砖块,全部读完之后将这些砖块依次按照长宽高排序,从长宽最大的砖块开始依次求以该砖块为顶的塔最高能有多高: 对于第 i 块砖,我想前寻找第一块长宽均比它大的砖块 j ,进行优化: dp [ i ] = max ( dp [ i ] , dp [ j ] +…
***************************************转载请注明出处:http://blog.csdn.net/lttree*************************************** Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6984    Accep…
Problem Description A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, provide the monkey with some blocks. If the monkey is clever enough, it shall…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 分析: 每种石头有六种方法,那么等效为:有6*n种石头. 根据x和y排序(要保证相应的x.y总有x>=y),然后dp[i]= max{s[i].z,s[i].z+dp[j]}(j<i,且石块i放于石块j上,符合题意). 其实就是最长上升子序列的换种求法... #include <cstdio> #include <cstring> #include <cmath…
/* dp[i]:取第i个方块时最多可以累多高 */ #include<bits/stdc++.h> using namespace std; struct node{ int x,y,z; bool operator<(const node & a)const { if(x==a.x)return y>a.y; return x>a.x; } //按照x从大到小排,x相同的话就按y从小到大排 }block[]; ],tot; int main(){ ; while(…
今天不想说太多废话-由于等下要写自己主动提交机. 不知道能不能成功呢? 题目的意思就是,一个猴子,在叠砖头 ...以下的要严格大于上面的.求叠起来最高能到多少- n非常少,n^2算法毫无压力-话说dp的n一般都小. 我们先排序.拍完序的状态转移方程是:  dp[i]=max(dp[j])+z[i],0<=i<=j.记得要等于. 之后再线性遍历一下找出max ,不然还是WA~ 还有在读入的时候,一个砖生成六个砖,能够自己暴力模拟一下.我是走循环的- 这个循环条件我也不知道怎么说.我仅仅是认为推断…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 题意:一群猴子,给出n块砖的长x宽y高z,用这些砖拼起的高度最高是多少, 要求底下的砖的长宽都要大于上面那块.堆出高度最高的猴子最聪明.现在问最多能达到多高. 思路:从n块砖中找出x块砖并满足长宽要求使高度最高,可以用动态规划来做. 先按照砖的x,y升序排序,类似最长不下降子序列. 状态转移方程:dp[i]=h[i]+max(dp[0]……dp[i-1]); 参考文章:https://blog…
题意与分析 给定立方体(个数不限),求最多能堆叠(堆叠要求上方的方块严格小于下方方块)的高度. 表面上个数不限,问题是堆叠的要求决定了每个方块最多可以使用三次.然后就是对3n" role="presentation">3n3n的方格序列用LIS. 注意:排序和求LIS的标准不同,否则答案会错误. 代码 #include <iostream> #include <cstring> #include <algorithm> #includ…
Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20094    Accepted Submission(s): 10725 Problem Description A group of researchers are designing an experiment to test the IQ of…
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1069 Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16589    Accepted Submission(s): 8834 Problem Description A group of r…