Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:DP+二分查找,错哪了?In Reply To:DP+二分查找,错哪了? Posted by:yiyiyi4321 at 2005-12-16 11:04:28 > #include<stdio.h> > int a[5000],d[5000]; > main() > {long i,n,len=0; > long mid,left,right; > scanf("%ld",&n); > for(i=0;i<n;i++) > scanf("%d",&a[i]); > for(i=0;i<n;i++) > { > if(a[i]>d[len]) > d[++len]=a[i]; > else { > left=1; > right=len; > while(left<right-1) > { > mid=(left+right)/2; > if(a[i]>d[mid]) > left=mid+1; > if(a[i]<d[mid]) > right=mid-1; > if(a[i]==d[mid]) > break; > } > if(a[i]<d[left])d[left]=a[i]; > else if(a[i]<d[right])d[right]=a[i]; > } > } > printf("%d",len); > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator