ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#435 | #71. 「NOIP2015」子串 | Pigsyy | 100 | 180ms | 4044kb | C++23 | 964b | 2025-04-24 13:25:50 | 2025-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"