#include<stdio.h>
#include<string.h>
int a[100010];
int dp[100010];
int main()
{
int i,j,k;
int n,m;
int mindp;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
dp[1]=1;
for(i=2;i<=n;i++)
{
mindp=0;
for(j=1;j<i;j++)
{
if(a[i]>a[j]&&dp[j]>mindp)
mindp=dp[j];
}
dp[i]=mindp+1;
}
k=0;
for(i=1;i<=n;i++)
if(k<dp[i])
k=dp[i];
printf("%d\n",k);
}
return 0;
}
状态转移方程
if(a[i]>a[j]&&dp[j]>mindp)
mindp=dp[j];
}
dp[i]=mindp+1;
1257 hdu
原创
©著作权归作者所有:来自51CTO博客作者mb64e477779bdae的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
hdu-1257
刚开始单纯的以为 a[i] > a[i]
最小值 子序列 #include 其他 -
hdu 1257 最少拦截系统 (数组)
小记:因为当前的导弹能打的高度不能高于前一个导弹的高度。所以从第一炮开始,如果能打就打,
#include 子序列 #define -
JAVA 两个方法互斥锁
在java编程中,经常需要用到同步,而用得最多的也许是synchronized关键字了,下面看看这个关键字的用法。因为synchronized关键字涉及到锁的概念,所以先来了解一些相关的锁知识。 java的内置锁:每个java对象都可以用做一个实现同步的锁,这些锁成为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内置锁的唯一途径就是进入这个
JAVA 两个方法互斥锁 java synchronized synchronized关键字 对象锁 同步代码块