2013年3月26日

hdu4521(最长递增子序列的二分思想)

摘要: 题意:就是求一个序列的最长递增子序列,但是下标有要求就是新的序列的相邻项的下标相差d.思路:在原来求最长递增子序列的基础上加一些条件使得相邻项的下标相差d....代码实现:#include<stdio.h>#include<string.h>int a[100005],dp[100005],b[100005];int main(){ int n,d,i,temp; while(scanf("%d%d",&n,&d)!=EOF) { int p,r,m,len=1,max=1; for(i=0;i<n;i++) { scanf(. 阅读全文

posted @ 2013-03-26 23:09 后端bug开发工程师 阅读(286) 评论(0) 推荐(0) 编辑

最长递增子序列(时间复杂度n*logn)

摘要: 利用二分的思想将时间复杂度降到了n*logn,很好~代码实现:#include<stdio.h>//时间复杂度为(n*logn)#include<string.h>int a[5001],dp[5001];int main(){ int i,n,len,m,r,p; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) scanf("%d",&a[i]); dp[0]=-1000000; dp[1]=a[0]; len=1; for(i=1;i<n;i++) ... 阅读全文

posted @ 2013-03-26 15:18 后端bug开发工程师 阅读(385) 评论(2) 推荐(0) 编辑

导航