建筑群最长坡值 南邮OJ 1031
2010-05-16 12:33
155 查看
建筑群最长坡值
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte描述
建筑群所有建筑高度分别为h1、h2…hN,可以得到一些单调递减的序列hi1、hi2…hiK,其长度称为建筑群的坡值,这里1≤i1< i2<…< iK≤N。
你的任务:对于给定的建筑群所有建筑高度,求出建筑群最长坡值。
输入第一行是建筑群中的建筑数N(1≤N≤1000)。
第二行依次给出各个建筑的高度(大小从0到1000),中间用空格分开。
输出建筑群最长坡值
样例输入10
108 60 79 50 119 40 90 230 20 80
样例输出
5
此题主要算法为最长递增子序列的算法,即动态规划。
//#include <fstream> #include <iostream> using namespace std; int main() { // ifstream cin("1.txt"); int num; int i,j; cin>>num; int *a=0; int *f=0; a=(int *)malloc(sizeof(int)*num); f=(int *)malloc(sizeof(int)*num); for(i=0;i<num;i++) { cin>>a[i]; } int count; f[0]=1; int max=f[0]; for(i=1;i<num;i++) { f[i]=1; for(int j=0;j<i;j++) { if(a[j]>a[i]&&f[j]>f[i]-1) f[i]=f[j]+1; } if(f[i]>max) max=f[i]; } cout<<max<<endl; free(a); free(f); }
相关文章推荐
- 南邮 OJ 1031 建筑群最长坡值
- 1031-建筑群最长坡值
- NOJ 1031 建筑群最长坡值 简单dp
- NOJ 1031 建筑群最长坡值 (线性dp)
- 建筑群最长坡值
- 南邮 OJ 1100 最长回文子串
- 南邮 OJ 1968 最长回文子串的长度
- 建筑群最长坡值
- 九度OJ 1195:最长&最短文本 (搜索)
- 九度OJ 1528 最长回文子串 -- Manacher算法
- 南邮 OJ 1249 会场安排问题
- 南邮 OJ 1269 区间相交问题
- 南邮 OJ 1307 子集树问题
- 南邮 OJ 1381 Friends
- 南邮 OJ 1397 Decoding
- 南邮 OJ 1409 售票系统
- 南邮 OJ 1423 亲戚
- 南邮 OJ 1442 temperature conversions
- 南邮 OJ 1464 Text Messaging
- 南邮 OJ 1503 漏洞修复