QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#21536#2840. 绿绿与串串WhybullYMe#Compile Error//Python31.3kb2022-03-07 14:45:072022-05-18 04:11:37

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-05-18 04:11:37]
  • 评测
  • [2022-03-07 14:45:07]
  • 提交

answer

#include<iostream>
#include<cstdio>
#include<string>
#include<set>
#include<vector>
using namespace std;
int t,n,m,p[1000001],lst[1000001];
bool vis[1000001];
string s;
vector<int> v[1000001];
int main()
{
    cin.tie(0);
    cin>>t;
    while(t--)
    {
        cin>>s;
        n=s.length();
        s=" "+s;
        for(int i=1;i<=n;++i)
        {
            vis[i]=p[i]=lst[i]=0;
            v[i].clear();
        }
        for(int i=1,mid=0,r=0;i<=n;++i)
        {
            if(i<=r)
                p[i]=min(p[(mid<<1)-i],r-i+1);
            while(i+p[i]<=n&&s[i-p[i]]==s[i+p[i]])
                ++p[i];
            if(i+p[i]-1>r)
            {
                r=i+p[i]-1;
                mid=i;
            }
            if(i==p[i])
            {
                v[i+p[i]-1].emplace_back(i);
                if((i&1)&&((i+1)>>1)+p[(i+1)>>1]-1==i)
                    lst[i]=(i+1)>>1;
            }
            if(i+p[i]-1==n)
            {
                for(auto j:v[i])
                    for(int k=j;k&&!vis[k];k=lst[k])
                        vis[k]=1;
                for(int j=i;j&&!vis[j];j=lst[j])
                    vis[j]=1;
            }
        }
        for(int i=1;i<=n;++i)
            if(vis[i])
                cout<<i<<' ';
        cout<<'\n';
    }
    return 0;
}

Details

  File "answer.code", line 6
    using namespace std;
                  ^
SyntaxError: invalid syntax