QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#199699#2902. Shortest Missing SubsequencesScarlett_boyAC ✓111ms108048kbC++171.5kb2023-10-04 13:46:072023-10-04 13:46:07

Judging History

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

  • [2023-10-04 13:46:07]
  • 评测
  • 测评结果:AC
  • 用时:111ms
  • 内存:108048kb
  • [2023-10-04 13:46:07]
  • 提交

answer

#include<bits/stdc++.h>

typedef long long ll;

using namespace std;
const int N = 1e6 + 10;
char v[30];
char s[N];

int len1, len;
int n;
int vis[30];
int to[30][N];
int last[30];

void solve() {
    cin >> (v + 1);
    cin >> (s + 1);
    len1 = strlen(v + 1), len = strlen(s + 1);
    for (int i = 1; i <= len1; i++) vis[v[i] - 'a' + 1] = 1;
    for (int i = 1; i <= 26; i++) last[i] = len + 1;
    for (int j = 1; j <= 26; j++) {
        to[j][len + 1] = len + 1;
    }

    for (int i = len; i >= 1; i--) {
        for (int j = 1; j <= 26; j++) {
            to[j][i] = last[j];
        }
        last[s[i] - 'a' + 1] = i;
    }
    for (int j = 1; j <= 26; j++) {
        to[j][0] = last[j];
    }
    int MinLen = 0;
    int P = 0;
    while (P <= len) {
        int tmp = P;
        for (int i = 1; i <= 26; i++)
            if (vis[i]) {
                tmp = max(tmp, to[i][P]);
            }
        MinLen++;
        P = tmp;
    }
    cin >> n;
    string S;
    for (int i = 1; i <= n; i++) {
        cin >> S;
        int p = 0;
        int cnt = 0;
        for (int j = 0; j < S.size(); j++) {
            p = to[S[j] - 'a' + 1][p];
            if (p == len + 1) cnt++;
        }
        if (cnt == 1 && S.size() == MinLen) cout << 1 << '\n';
        else cout << 0 << '\n';
    }
}


signed main() {
    ios::sync_with_stdio(false), cin.tie(nullptr);
    int _ = 1;
//    cin >> _;
    for (int o = 1; o <= _; o++) {
        solve();
    }
    return 0;
}
/*
abcd
abcccabac
3
cbb
cbba
cba
 */

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

abcd
abcccabac
3
cbb
cbba
cba

output:

0
0
0

result:

ok 3 lines

Test #2:

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

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: 111ms
memory: 106068kb

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: 29ms
memory: 106732kb

input:

d
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd...

output:

1

result:

ok single line: '1'

Test #5:

score: 0
Accepted
time: 27ms
memory: 108048kb

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: 33ms
memory: 106056kb

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: 97ms
memory: 106056kb

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: 5628kb

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: 1ms
memory: 5620kb

input:

f
f
2
f
ff

output:

0
1

result:

ok 2 lines

Test #10:

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

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: 49ms
memory: 105972kb

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: 5616kb

input:

abcdefghijklmnopqrstu
orslbpmouunpnnfcgtbplsqimmroonbfbgoehmkohbdekngpkkudgpeknramojnffimsborgoheggfshaqrhteepcmchqdtsu
1
au

output:

0

result:

ok single line: '0'

Test #13:

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

input:

ab
aab
1
bb

output:

1

result:

ok single line: '1'

Test #14:

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

input:

ab
ba
1
bb

output:

1

result:

ok single line: '1'

Test #15:

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

input:

abc
baaaaac
1
cc

output:

1

result:

ok single line: '1'

Test #16:

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

input:

abc
abcccabac
3
cbb
cbba
cba

output:

1
0
0

result:

ok 3 lines