QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#317051#2902. Shortest Missing SubsequencesAlorithmAC ✓264ms138916kbC++201.3kb2024-01-28 12:51:102024-01-28 12:51:11

Judging History

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

  • [2024-01-28 12:51:11]
  • 评测
  • 测评结果:AC
  • 用时:264ms
  • 内存:138916kb
  • [2024-01-28 12:51:10]
  • 提交

answer

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using i64 = long long;

void solve()
{
    int n;
    string v, s, u;
    cin >> v >> s >> n;

    int len = s.length();
    s = " " + s;
    vector<int> last(26, len + 1);
    vector nxt(len + 5, vector<int>(26));

    for (int i = len; i >= 0; i--)
    {
        for (auto j : v)
            nxt[i][j - 'a'] = last[j - 'a'];
        if (i)
            last[s[i] - 'a'] = i;
    }

    int min_len = 0;
    int pos = 0;
    while (pos <= len)
    {
        int tmp = 0;
        for (auto i : v)
            tmp = max(tmp, nxt[pos][i - 'a']);
        min_len++;
        pos = tmp;
    }

    //cout << min_len << endl;

    while (n--)
    {
        cin >> u;
        int pos = 0;
        bool flag = 0;
        for (auto i : u)
        {
            if (nxt[pos][i - 'a'] == 0 || nxt[pos][i - 'a'] == len + 1)
            {
                flag = 1;
                break;
            }
            else
            {
                pos = nxt[pos][i - 'a'];
            }
        }
        if (flag && u.length() == min_len)
            cout << 1 << endl;
        else
            cout << 0 << endl;
    }
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

    solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3576kb

input:

abcd
abcccabac
3
cbb
cbba
cba

output:

0
0
0

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 0ms
memory: 3676kb

input:

z
zzzzzzz
10
z
zz
zzz
zzzz
zzzzz
zzzzzz
zzzzzzz
zzzzzzzz
zzzzzzzzz
zzzzzzzzzz

output:

0
0
0
0
0
0
0
1
0
0

result:

ok 10 lines

Test #3:

score: 0
Accepted
time: 264ms
memory: 136992kb

input:

abcdefghijklmnopqrstuvwxyz
oaxsgfhkwuecvdrltjzpqibnymtaympfvuzogrqkwhbdcsjleixnojmletqrbkdzfhawpsxcvyniughnqibtzjpewovluyrdfmakxscgcyhmqbieontgwufalzjsprvkdxzfqsrijldncaphwxyutbgevmokltvqhkprunydecwmgxoijzbfsacafhozxyljvnrmbdupeqiswgtkbhwxptqayglfovirnjuemkdczsmyadiqnwtxjbhlsvokpucgefrzvicbdnkrjmxgf...

output:

0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0

result:

ok 26 lines

Test #4:

score: 0
Accepted
time: 90ms
memory: 138916kb

input:

d
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd...

output:

1

result:

ok single line: '1'

Test #5:

score: 0
Accepted
time: 58ms
memory: 137000kb

input:

abcdefghijklmnopqrstuvwxyz
wktxlbgnmkyuvhmjpxxfndhdtcqugxnsvpxdictbxwrimocjliqqxfomlwngbvyoyacswksvurqaqmvwigtiswbfyofgvdvolcciwnymchohsdoivyofupophlcpukipgheeveaqrgmbcrtdwdybwcxsyvorkvsnhnvgwfxrpvykphlmrqsyujciqdmpqiwegathdsfjueilvbcudwsfbvpqxyoprbadqepvpdkcjvdapafesdmftubyraolqcvgbfbqhjlebnmbpcskf...

output:

0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
...

result:

ok 10000 lines

Test #6:

score: 0
Accepted
time: 48ms
memory: 137196kb

input:

abcdefghijklmnopqrstuvwxyz
wktxlbgnmkyuvhmjpxxfndhdtcqugxnsvpxdictbxwrimocjliqqxfomlwngbvyoyacswksvurqaqmvwigtiswbfyofgvdvolcciwnymchohsdoivyofupophlcpukipgheeveaqrgmbcrtdwdybwcxsyvorkvsnhnvgwfxrpvykphlmrqsyujciqdmpqiwegathdsfjueilvbcudwsfbvpqxyoprbadqepvpdkcjvdapafesdmftubyraolqcvgbfbqhjlebnmbpcskf...

output:

0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
...

result:

ok 10000 lines

Test #7:

score: 0
Accepted
time: 88ms
memory: 137076kb

input:

abcdefghijklmnopqrstuvwxyz
ngmgaeihgmnehfjdicecmbjmeilmjceblbnkfhibfgfjkdihhnieamiablnglnmkkajhnnfdlflnbdjddmcmihbbfihbeielbifnidmjijehbjmgfjdecdncajkehbbkmccanblnikgnlieimdndkjngjehhkklmfbfjbhjkfnddalebldfmcfgnabmcnldanjkijkbabkdjnjbgbfnbajadclbhdlmakaigjbnebdbkefgcaihajblgdeflhnjclkdmamkcncfiebjhk...

output:

1
0
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
0
1
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
0
0
0
1
0
0
0
1
1
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
0
1
0
...

result:

ok 1000000 lines

Test #8:

score: 0
Accepted
time: 1ms
memory: 3808kb

input:

abcd
aabcdacbacdabcabdcccbddadbcdbacbdad
8
dddaadda
dddaaddb
dddaaddc
dddaaddd
dddaadaa
dddaadab
dddaadac
dddaadad

output:

0
0
0
0
0
0
0
0

result:

ok 8 lines

Test #9:

score: 0
Accepted
time: 0ms
memory: 3868kb

input:

f
f
2
f
ff

output:

0
1

result:

ok 2 lines

Test #10:

score: 0
Accepted
time: 0ms
memory: 3876kb

input:

xy
x
6
x
y
xx
xy
yx
yy

output:

0
1
0
0
0
0

result:

ok 6 lines

Test #11:

score: 0
Accepted
time: 66ms
memory: 137044kb

input:

abcdefghijklmnopqrstuvwxyz
irxwwhliqvpptnwkhqgyxopsvwguplvwksziymgggtrgzynukovgrkwpzqrknkukvpzmzgoxzrztijtvymivmyvuqzoqxzujmlsyqxzqosxgqlvwootjnryuwuvnhptqiwjqxonqvgpgmuxsssotjjqkgwkrzyrkoqnzxsnpzltrsvgowxxyzvqwiqwrkozhqynrrkzqoqxnongrrtwsmpsgwktjrsjyhwrwxxzlgxzuhhygpgvvllliwtjnmhjjlrzjtltumpumqpigm...

output:

0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
...

result:

ok 200000 lines

Test #12:

score: 0
Accepted
time: 1ms
memory: 3596kb

input:

abcdefghijklmnopqrstu
orslbpmouunpnnfcgtbplsqimmroonbfbgoehmkohbdekngpkkudgpeknramojnffimsborgoheggfshaqrhteepcmchqdtsu
1
au

output:

0

result:

ok single line: '0'

Test #13:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

ab
aab
1
bb

output:

1

result:

ok single line: '1'

Test #14:

score: 0
Accepted
time: 0ms
memory: 3580kb

input:

ab
ba
1
bb

output:

1

result:

ok single line: '1'

Test #15:

score: 0
Accepted
time: 0ms
memory: 3636kb

input:

abc
baaaaac
1
cc

output:

1

result:

ok single line: '1'

Test #16:

score: 0
Accepted
time: 0ms
memory: 3880kb

input:

abc
abcccabac
3
cbb
cbba
cba

output:

1
0
0

result:

ok 3 lines