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 |
抑郁了,数组开小了TLE,贴代码,1000+ms#include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> #define SIZE 10 using namespace std; struct BIGN { int a[SIZE]; }; inline BIGN operator +(BIGN a,BIGN b) { BIGN c; memset(&c,0,sizeof c); c.a[0]=max(b.a[0],a.a[0]); int jin=0; for(int i=1;i<=c.a[0];i++) { jin+=a.a[i]+b.a[i]; c.a[i]=jin%10000; jin/=10000; } if(jin) c.a[++c.a[0]]=jin; return c; } inline void give(char s[],BIGN &a) { memset(&a,0,sizeof a); int len=strlen(s); int p[4]={1,10,100,1000}; for(int i=len-1,j=0;i>=0;i--,j=(j+1)&3) { if(!j) a.a[0]++; a.a[a.a[0]]=a.a[a.a[0]]+(s[i]-'0')*p[j]; } } inline void prt(BIGN a) { printf("%d",a.a[a.a[0]]); for(int i=a.a[0]-1;i>=1;i--) printf("%04d",a.a[i]); puts(""); } BIGN c[6][50010],ans; int n,bh; struct BZ { int x,h,id; }bz[50010]; void read() { for(int i=1;i<=n;i++) { scanf("%d",&bz[i].x); bz[i].id=i; } } inline bool cmp_x(const BZ &a,const BZ &b) { return a.x<b.x; } inline bool cmp_id(const BZ &a,const BZ &b) { return a.id<b.id; } inline int lowbit(int x) { return x&-x; } void lsh() { sort(bz+1,bz+1+n,cmp_x); bz[1].h=2; bh=2; for(int i=2;i<=n;i++) { if(bz[i].x!=bz[i-1].x) bz[i].h=++bh; else bz[i].h=bh; } sort(bz+1,bz+1+n,cmp_id); } inline BIGN getsum(int p,int num) { BIGN rt; give("0",rt); while(num) { rt=rt+c[p][num]; num-=lowbit(num); } return rt; } inline void updata(int p,int q,BIGN sy) { while(q<=bh) { c[p][q]=c[p][q]+sy; q+=lowbit(q); } } void go() { BIGN one,tmp; give("1",one); give("0",ans); for(int i=0;i<=bh;i++) for(int j=1;j<=5;j++) give("0",c[j][i]); for(int i=1;i<=n;i++) { updata(1,bz[i].h,one); for(int j=2;j<=5;j++) { tmp=getsum(j-1,bz[i].h-1); updata(j,bz[i].h,tmp); } } ans=getsum(5,bh); prt(ans); } int main() { while(scanf("%d",&n)!=EOF) { read(); lsh(); go(); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator