Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

我也是这样做的,但是RTE,不知道错那里,谁来帮我看看O(∩_∩)O谢谢了

Posted by zjut032 at 2009-05-19 20:58:23 on Problem 3581
In Reply To:这个问题的确是要考虑的。 下面是我的解决方法 Posted by:ghost_wei at 2008-04-14 19:37:02
#include<iostream>
using namespace std;
const int maxn=400005;
const int N=400005;
int a[maxn];
int sa[maxn],rank[maxn],temp[maxn],h[maxn],Count[maxn],height[maxn];
int n,size;

void Preprogress()
{
	memset(temp,0,sizeof(temp));
    int i,j,k;
    size=n+1<<2;
    memset(Count,0,N<<2);
    for(i=1;i<=n;i++)
        Count[a[i]]++;
    for(i=1;i<N;i++)
        Count[i]+=Count[i-1];
    for(i=n;i>=1;i--)
        sa[Count[a[i]]--]=i;
    rank[sa[1]]=Count[1]=1;
    for(i=2;i<=n;i++)
        Count[rank[sa[i]]=rank[sa[i-1]]+int(a[sa[i]]!=a[sa[i-1]])]=i;
    for (k=1;k<n && rank[sa[n]]<n;k=k*2)
    {
        memcpy(temp,sa,size);
        for (i=n;i>=1;i--)
            if (temp[i]>k)
                sa[Count[rank[temp[i]-k]]--]=temp[i]-k;
        for (i=n-k+1;i<=n;i++)
            sa[Count[rank[i]]]=i;
        memcpy(temp,rank,size);
        rank[sa[1]]=Count[1]=1;
        for (i=2;i<=n;i++)
            Count[rank[sa[i]]=rank[sa[i-1]]+int(temp[sa[i]]!=temp[sa[i-1]] || temp[sa[i]+k]!=temp[sa[i-1]+k])]=i;
    }
}
int main()
{
	scanf("%d",&n);
		int i;
		memset(a,0,sizeof(a));
		for(i=n;i>=1;i--)
			scanf("%d",&a[i]);
		
		Preprogress();
		int x,y;
		for(i=1;i<=n;i++)
		{
			if(sa[i]>2)
			{
				x=sa[i];
				break;
			}
		}
		for(i=x;i<=n;i++) printf("%d\n",a[i]);
		for(i=x;i<=n;i++) a[i]=0;
		for(i=1;i<x;i++)
			a[x+i-1]=a[i];
		n=(x-1)*2;
		Preprogress();
		for(i=1;i<=n;i++)
		{
			if(sa[i]<x&&sa[i]>1)
			{
				y=sa[i];
				break;
			}
		}
		for(i=y;i<x;i++) printf("%d\n",a[i]);
		for(i=1;i<y;i++) printf("%d\n",a[i]);
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator