F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

View Compilation Error

0_0_33203904_13536.cpp:2:23: error: stray '#' in program
  using namespace std; #define debug(a) cerr<<#a<<" --> "<<(a)<<endl; #define INPUT freopen("input.txt","r",stdin) template<class T1, class T2> ostream &operator <<(ostream &os, pair<T1,T2>&p); template <class T> ostream &operator <<(ostream &os, vector<T>&v); template <class T> ostream &operator <<(ostream &os, set<T>&v); template <class T1, class T2> ostream &operator <<(ostream &os, map<T1,T2>&v); typedef long long ll; const int N = 2000+5; int wa[N],wb[N],wv[N],wc[N]; int r[N],sa[N],rak[N], height[N], lg[N]; void init() {     memset(wa,0,sizeof wa);     memset(wb,0,sizeof wb);     memset(wv,0,sizeof wv);     memset(wc,0,sizeof wc);     memset(r,0,sizeof r);     memset(sa,0,sizeof sa);     memset(rak,0,sizeof rak);     memset(height,0,sizeof height); } int cmp(int *r,int a,int b,int l) {     return r[a] == r[b] && r[a+l] == r[b+l]; } void da(int *r,int *sa,int n,int m) {     int i,j,p,*x=wa,*y=wb,*t;     for( i=0; i<m; i++)         wc[i]=0;     for( i=0; i<n; i++)         wc[x[i]=r[i]] ++;     for( i=1; i<m; i++)         wc[i] += wc[i-1];     for( i= n-1; i>=0; i--)         sa[--wc[x[i]]] = i;     for( j= 1,p=1; p<n; j*=2,m=p)     {         for(p=0,i=n-j; i<n; i++)             y[p++] = i;         for(i=0; i<n; i++)             if(sa[i] >= j)                 y[p++] = sa[i] - j;         for(i=0; i<n; i++)             wv[i] = x[y[i]];         for(i=0; i<m; i++)             wc[i] = 0;         for(i=0; i<n; i++)             wc[wv[i]] ++;         for(i=1; i<m; i++)             wc[i] += wc[i-1];         for(i=n-1; i>=0; i--)             sa[--wc[wv[i]]] = y[i];         for(t=x,x=y,y=t,p=1,x[sa[0]] = 0,i=1; i<n; i++)             x[sa[i]]= cmp(y,sa[i-1],sa[i],j) ? p-1:p++;     } } void calheight(int *r,int *sa,int n) {     int i,j,k=0;     for(i=1; i<=n; i++)         rak[sa[i]] = i;     for(i=0; i<n; height[rak[i++]] = k )     {         for(k?k--:0, j=sa[rak[i]-1] ; r[i+k] == r[j+k] ; k ++) ;     } } int dp[N][22]; void initRMQ(int n) {     for(int i= 1; i<=n; i++)         dp[i][0] = height[i];     for(int j= 1; (1<<j) <= n; j ++ )     {         for(int i = 1; i + (1<<j) - 1 <= n ; i ++ )         {             dp[i][j] = min(dp[i][j-1], dp[i + (1<<(j-1))][j-1]);         }     } } int askRMQ(int L,int R) {     int k = lg[R-L+1];     return min(dp[L][k], dp[R - (1<<k) + 1][k]); } int preclg2() {     for(int i=2; i<N; i++)     {         lg[i]=lg[i-1];         if((i&(i-1))==0)             lg[i]++;     } } int get_lcp(int i, int j) {     int L=min(rak[sa[i]],rak[sa[j]]), R=max(rak[sa[i]],rak[sa[j]]);     return askRMQ(L+1,R); } int query(int l,int r, int n) {     int prv = 0;     int sum =0;     for(int i = 1; i <= n; i++)     {         if(sa[i]>=l)         {             int  p =1, q = r-sa[i]+1;             int k = n - sa[i];             int tmp =0;             if(prv!=0)             {                 tmp = get_lcp(i,prv);             }             k-= tmp;             if(k > 0)                 sum += k;             prv= i;         }     }     return sum; } vector<int>v[N]; int mp[N][N]; void TEST_CASES(int cas) {     vector<pair<int,int> >queries;     string s;     cin>>s;     int sz;     sz= s.size();     for(int i=0; i<sz; i++)     {         v[i].clear();     }     int q;     scanf("%d",&q);     for(int i=0; i<q; i++)     {         int l, r;         scanf("%d %d",&l,&r);         l--;         r--;         queries.push_back({l,r});         v[r].push_back(l);         mp[l][r] =0;     }     int n =sz;     for(int j = sz-1; j>=0; j--)     {         if(v[j].size())         {             int cnt =0;             for(int i=0; i<n; i++)             {                 r[i]=s[i]-'a'+1;                 cnt=max(cnt,r[i]);             }             r[n]=0;             da(r,sa,n+1,cnt+1);             calheight(r,sa,n);             initRMQ(n);             for(int it:v[j])             {                 if(!mp[it][j])                 {                     mp[ it][j] = query(it,j,n);                 }             }         }         n--;         s.pop_back();     }     for(int i=0; i<q; i++)     {         int ans = mp[queries[i].first][queries[i].second];         printf("%d\n",ans);     } } int main() {     preclg2();     int t=1,cas=0;     scanf("%d",&t);     while(t--)     {         TEST_CASES(++cas);     }     return 0; } template<class T1, class T2> ostream &operator <<(ostream &os, pair<T1,T2>&p) {     os<<"{"<<p.first<<", "<<p.second<<"} ";     return os; } template <class T> ostream &operator <<(ostream &os, vector<T>&v) {     os<<"[ ";     for(int i=0; i<v.size(); i++)     {         os<<v[i]<<" " ;     }     os<<" ]";     return os; } template <class T> ostream &operator <<(ostream &os, set<T>&v) {     os<<"[ ";     for(T i:v)     {         os<<i<<" ";     }     os<<" ]";     return os; } template <class T1, class T2> ostream &operator <<(ostream &os, map<T1,T2>&v) {     for(auto i:v)     {         os<<"Key : "<<i.first<<" , Value : "<<i.second<<endl;     }     return os; } 
                       ^
0_0_33203904_13536.cpp:2:46: error: stray '#' in program
  using namespace std; #define debug(a) cerr<<#a<<" --> "<<(a)<<endl; #define INPUT freopen("input.txt","r",stdin) template<class T1, class T2> ostream &operator <<(ostream &os, pair<T1,T2>&p); template <class T> ostream &operator <<(ostream &os, vector<T>&v); template <class T> ostream &operator <<(ostream &os, set<T>&v); template <class T1, class T2> ostream &operator <<(ostream &os, map<T1,T2>&v); typedef long long ll; const int N = 2000+5; int wa[N],wb[N],wv[N],wc[N]; int r[N],sa[N],rak[N], height[N], lg[N]; void init() {     memset(wa,0,sizeof wa);     memset(wb,0,sizeof wb);     memset(wv,0,sizeof wv);     memset(wc,0,sizeof wc);     memset(r,0,sizeof r);     memset(sa,0,sizeof sa);     memset(rak,0,sizeof rak);     memset(height,0,sizeof height); } int cmp(int *r,int a,int b,int l) {     return r[a] == r[b] && r[a+l] == r[b+l]; } void da(int *r,int *sa,int n,int m) {     int i,j,p,*x=wa,*y=wb,*t;     for( i=0; i<m; i++)         wc[i]=0;     for( i=0; i<n; i++)         wc[x[i]=r[i]] ++;     for( i=1; i<m; i++)         wc[i] += wc[i-1];     for( i= n-1; i>=0; i--)         sa[--wc[x[i]]] = i;     for( j= 1,p=1; p<n; j*=2,m=p)     {         for(p=0,i=n-j; i<n; i++)             y[p++] = i;         for(i=0; i<n; i++)             if(sa[i] >= j)                 y[p++] = sa[i] - j;         for(i=0; i<n; i++)             wv[i] = x[y[i]];         for(i=0; i<m; i++)             wc[i] = 0;         for(i=0; i<n; i++)             wc[wv[i]] ++;         for(i=1; i<m; i++)             wc[i] += wc[i-1];         for(i=n-1; i>=0; i--)             sa[--wc[wv[i]]] = y[i];         for(t=x,x=y,y=t,p=1,x[sa[0]] = 0,i=1; i<n; i++)             x[sa[i]]= cmp(y,sa[i-1],sa[i],j) ? p-1:p++;     } } void calheight(int *r,int *sa,int n) {     int i,j,k=0;     for(i=1; i<=n; i++)         rak[sa[i]] = i;     for(i=0; i<n; height[rak[i++]] = k )     {         for(k?k--:0, j=sa[rak[i]-1] ; r[i+k] == r[j+k] ; k ++) ;     } } int dp[N][22]; void initRMQ(int n) {     for(int i= 1; i<=n; i++)         dp[i][0] = height[i];     for(int j= 1; (1<<j) <= n; j ++ )     {         for(int i = 1; i + (1<<j) - 1 <= n ; i ++ )         {             dp[i][j] = min(dp[i][j-1], dp[i + (1<<(j-1))][j-1]);         }     } } int askRMQ(int L,int R) {     int k = lg[R-L+1];     return min(dp[L][k], dp[R - (1<<k) + 1][k]); } int preclg2() {     for(int i=2; i<N; i++)     {         lg[i]=lg[i-1];         if((i&(i-1))==0)             lg[i]++;     } } int get_lcp(int i, int j) {     int L=min(rak[sa[i]],rak[sa[j]]), R=max(rak[sa[i]],rak[sa[j]]);     return askRMQ(L+1,R); } int query(int l,int r, int n) {     int prv = 0;     int sum =0;     for(int i = 1; i <= n; i++)     {         if(sa[i]>=l)         {             int  p =1, q = r-sa[i]+1;             int k = n - sa[i];             int tmp =0;             if(prv!=0)             {                 tmp = get_lcp(i,prv);             }             k-= tmp;             if(k > 0)                 sum += k;             prv= i;         }     }     return sum; } vector<int>v[N]; int mp[N][N]; void TEST_CASES(int cas) {     vector<pair<int,int> >queries;     string s;     cin>>s;     int sz;     sz= s.size();     for(int i=0; i<sz; i++)     {         v[i].clear();     }     int q;     scanf("%d",&q);     for(int i=0; i<q; i++)     {         int l, r;         scanf("%d %d",&l,&r);         l--;         r--;         queries.push_back({l,r});         v[r].push_back(l);         mp[l][r] =0;     }     int n =sz;     for(int j = sz-1; j>=0; j--)     {         if(v[j].size())         {             int cnt =0;             for(int i=0; i<n; i++)             {                 r[i]=s[i]-'a'+1;                 cnt=max(cnt,r[i]);             }             r[n]=0;             da(r,sa,n+1,cnt+1);             calheight(r,sa,n);             initRMQ(n);             for(int it:v[j])             {                 if(!mp[it][j])                 {                     mp[ it][j] = query(it,j,n);                 }             }         }         n--;         s.pop_back();     }     for(int i=0; i<q; i++)     {         int ans = mp[queries[i].first][queries[i].second];         printf("%d\n",ans);     } } int main() {     preclg2();     int t=1,cas=0;     scanf("%d",&t);     while(t--)     {         TEST_CASES(++cas);     }     return 0; } template<class T1, class T2> ostream &operator <<(ostream &os, pair<T1,T2>&p) {     os<<"{"<<p.first<<", "<<p.second<<"} ";     return os; } template <class T> ostream &operator <<(ostream &os, vector<T>&v) {     os<<"[ ";     for(int i=0; i<v.size(); i++)     {         os<<v[i]<<" " ;     }     os<<" ]";     return os; } template <class T> ostream &operator <<(ostream &os, set<T>&v) {     os<<"[ ";     for(T i:v)     {         os<<i<<" ";     }     os<<" ]";     return os; } template <class T1, class T2> ostream &operator <<(ostream &os, map<T1,T2>&v) {     for(auto i:v)     {         os<<"Key : "<<i.first<<" , Value : "<<i.second<<endl;     }     return os; } 
                                              ^
0_0_33203904_13536.cpp:2:70: error: stray '#' in program
  using namespace std; #define debug(a) cerr<<#a<<" --> "<<(a)<<endl; #


Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-07-03 17:20:15, Gzip enabled