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 |
那你试试这题http://acm.hnu.cn:8080/online/?action=problem&type=show&id=10027In Reply To:规模为1000,n^2的算法就可以过了,不用二分的 Posted by:xinz at 2005-12-16 13:16:21 改了,还是错的 #include<stdio.h> long a[1001],d[1001]; main() {long i,n,len=0; long mid,left,right; scanf("%ld",&n); for(i=0;i<n;i++) {scanf("%ld",&a[i]); d[i]=0; } for(i=0;i<n;i++) { if(a[i]>d[len]) d[++len]=a[i]; else { left=1; right=len; while(left<=right) { mid=(left+right)/2; if(d[mid-1]<a[i]&&d[mid]>=a[i])break; if(a[i]>d[mid]) left=mid+1; if(a[i]<d[mid]) right=mid-1; } if(left<=right)d[mid]=a[i]; } } printf("%ld",len); return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator