접미사 배열DC3 (템 플 릿 대전)
/*
suffix : i
sa : SA ,
rank : rank[i] suffix[i] ,
*/
#include "stdio.h"
#include "string.h"
#define maxn 20004
#define maxm 1000005
#define F(x) ((x)/3+((x)%3==1?0:tb))
#define G(x) ((x)=0;i--) b[--ws[wv[i]]]=a[i];
return;
}
void dc3(int *r,int *sa,int n,int m)
{
int i,j,*rn=r+n,*san=sa+n,ta=0,tb=(n+1)/3,tbc=0,p;
r[n]=r[n+1]=0;
for(i=0;ib) {t=a;a=b;b=t;}
return(height[askRMQ(a+1,b)]);
}
/*
*/
char st[maxn];
int r[maxn*3],sa[maxn*3];
/*
int main()
{
int i,n,len,k,ans=0,w;
scanf("%s",st);
len=strlen(st);
for(i=0;ians) ans=k*2,w=i-k;
k=lcp(i,n-i-1);
if(k*2-1>ans) ans=k*2-1,w=i-k+1;
}
st[w+ans]=0;
printf("%s
",st+w);
return 0;
}*/
/*
int main()
{
int i,j,n,ans=0;
scanf("%s",st);
j=strlen(st);
st[j]=1;
scanf("%s",st+j+1);
n=strlen(st);
for(i=0;ians)
if((jsa[i])
|| (j>sa[i-1] && jmax) max=sa[i];
if(max-min>k) return(1);
}
}
return(0);
}
int main()
{
int i,j=0,k,n;
int min,mid,max;
scanf("%d",&n);
while(n!=0)
{
n--;
for(i=0;i=4) printf("%d
",max+1);
else printf("0
");
scanf("%d",&n);
}
return 0;
}
*/
/*
k
n , k
int check(int n,int k,int mid)
{
int i,s=1;
for(i=1;i<=n;i++)
if(height[i]>=mid)
{
s++;
if(s>=k) return(1);
}
else s=1;
return(0);
}
int main()
{
int i,k,n;
int min,mid,max;
scanf("%d %d",&n,&k);
for(i=0;i0)
{
scanf("%s",st);
n=strlen(st);
for(i=0;i=a[c])
{
ss-=(long long)(a[c-1]-a[c])*b[c-1];
a[c-1]=a[c];
b[c-1]+=b[c];
c--;
}
}
printf("%I64d
",ans);
scanf("%d",&k);
}
return 0;
}
*/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
hdu 1233 절 대 컴퓨터 대학원 재시험모 성에 서 마을 의 교통 상황 을 조사 하여 얻 은 통계표 에는 임의의 두 마을 간 의 거리 가 열거 되 어 있다.성 정부의 '원활 한 공사' 목 표 는 성 전체의 어느 두 마을 간 에 도 도로 교통 을 실현 할 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.