Logo Wy Online Judge

WyOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#435#71. 「NOIP2015」子串Pigsyy100180ms4044kbC++23964b2025-04-24 13:25:502025-04-24 13:25:50

answer

#include <bits/stdc++.h>
using namespace std;

int f[2][220][220], s[2][220][220];

const int mod = 1000000007;

int main() {
    int n, m, k_;
    char a[1010], b[220];
    cin >> n >> m >> k_;

    //  cin>>a>>b;
    for (int i = 1; i <= n; i++)
        cin >> a[i];

    for (int i = 1; i <= m; i++)
        cin >> b[i];

    s[0][0][0] = 1;

    for (int i = 1; i <= n; i++) {
        s[i % 2][0][0] = 1;

        for (int j = 1; j <= m; j++) {
            for (int k = 1; k <= min(k_, j); k++) {
                if (a[i] == b[j]) {
                    f[i % 2][j][k] = (f[(i - 1) % 2][j - 1][k] + s[(i - 1) % 2][j - 1][k - 1]) % mod;
                    s[i % 2][j][k] = (s[(i - 1) % 2][j][k] + f[i % 2][j][k]) % mod;
                } else {
                    s[i % 2][j][k] = s[(i - 1) % 2][j][k];
                    f[i % 2][j][k] = 0;
                }
            }
        }
    }

    cout << s[n % 2][m][k_];
}

详细

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 3372kb

input:

450 45 1
yhsxphurpsnoonsyrsxphurpsnoonsyrsxphurpsnoonjyrsxphurpsnoonsyrsxphurpsnoonsyrsxphurpsnoonsy...

output:

12

result:

ok "12"

Test #2:

score: 10
Accepted
time: 1ms
memory: 3488kb

input:

400 40 2
gagbnbgggggnggggabkggagbnbgggggnggggabkggagbnbgggggnggggabkggagbnbgggggnggggabkggagbnbggggg...

output:

9072

result:

ok "9072"

Test #3:

score: 10
Accepted
time: 0ms
memory: 3340kb

input:

500 50 2
dlzzzdlzzzdlzzzdlzzzdlzzzdlzzzdlzzzdlzzzdlzzzdlzzzdlzzzdlzzzdlzzzdlbzzdlzzzdlzzzdlzzzdlzzzd...

output:

170516

result:

ok "170516"

Test #4:

score: 10
Accepted
time: 5ms
memory: 3688kb

input:

400 40 40
rtiuujorlwjutpmrzjrurtiupjwrwujubwrrrjrsrtmuujwruuluzwrrrjrugtiuujwrwujuowisijrurtiuvjwrwu...

output:

945294659

result:

ok "945294659"

Test #5:

score: 10
Accepted
time: 7ms
memory: 3312kb

input:

500 50 50
lhmzggthggthhzggthggtchpggqqcgthhzdgthggthhzggtaggthhzggthgglhhzggthggthhzggnhggthhzgwmygg...

output:

355188752

result:

ok "355188752"

Test #6:

score: 10
Accepted
time: 0ms
memory: 3384kb

input:

100 10 5
tfwtxtfwnkzfwjktfwtktfwttifwtktfwlktfptytfwtptfytktfwzktfwtkzfqtpwfwtkttjtksfwtktfwtkefotkt...

output:

890114

result:

ok "890114"

Test #7:

score: 10
Accepted
time: 5ms
memory: 3724kb

input:

500 50 30
gglbbgglbbgglbbgglbbgglbbgglbbgglbbgglbbgglbbgglbbgglbbgglbbgglbbbglbbgglbbgglbbgglbbggltb...

output:

941105174

result:

ok "941105174"

Test #8:

score: 10
Accepted
time: 39ms
memory: 3872kb

input:

1000 100 97
lolucklololololololololololololololololololololololololololololololololololololololololo...

output:

517310139

result:

ok "517310139"

Test #9:

score: 10
Accepted
time: 43ms
memory: 3492kb

input:

1000 100 89
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn...

output:

716847469

result:

ok "716847469"

Test #10:

score: 10
Accepted
time: 80ms
memory: 4044kb

input:

1000 200 157
auuxuauzxuauuxuauzxuauuxuauzxuahueuauzcuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxucu...

output:

476588772

result:

ok "476588772"