QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#797878 | #2807. Dishonest Driver | zxcen | AC ✓ | 311ms | 5824kb | C++14 | 776b | 2024-12-03 20:13:50 | 2024-12-03 20:13:51 |
Judging History
answer
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=700;
int n;
string s;
int f[N+10][N+10],ne[N+10];
int main(){
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
cin>>n;
cin>>s;
s=" "+s;
for(int len=1;len<=n;++len){
for(int l=1;l+len-1<=n;++l){
int r=l+len-1;
f[l][r]=r-l+1;
for(int k=l;k<r;++k){
f[l][r]=min(f[l][r],f[l][k]+f[k+1][r]);
}
ne[l]=l-1;
for(int k=l+1,i=l-1;k<=r;++k){
while(i>=l&&s[k]!=s[i+1]){
i=ne[i];
}
if(s[k]==s[i+1]){
++i;
}
ne[k]=i;
}
if(l<=l+r-ne[r]-1&&(r-l+1)%(r-ne[r])==0){
f[l][r]=min(f[l][r],f[l][l+r-ne[r]-1]);
}
}
}
cout<<f[1][n];
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3708kb
input:
22 aaabaaabccdaaabaaabccd
output:
4
result:
ok single line: '4'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3596kb
input:
4 aaba
output:
3
result:
ok single line: '3'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
6 aabaab
output:
2
result:
ok single line: '2'
Test #4:
score: 0
Accepted
time: 91ms
memory: 5524kb
input:
700 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
output:
1
result:
ok single line: '1'
Test #5:
score: 0
Accepted
time: 91ms
memory: 5824kb
input:
700 abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab...
output:
2
result:
ok single line: '2'
Test #6:
score: 0
Accepted
time: 83ms
memory: 5456kb
input:
663 ababababababababababababababababababababababababab0ababababababababababababababababababababababababab0ababababababababababababababababababababababababab0ababababababababababababababababababababababababab0ababababababababababababababababababababababababab0ababababababababababababababababababababa...
output:
3
result:
ok single line: '3'
Test #7:
score: 0
Accepted
time: 24ms
memory: 4808kb
input:
442 abababababbcbcbcbcbcbcbcbcabababababbcbcbcbcbcbcbcbcabababababbcbcbcbcbcbcbcbcabababababbcbcbcbcbcbcbcbcabababababbcbcbcbcbcbcbcbcabababababbcbcbcbcbcbcbcbcabababababbcbcbcbcbcbcbcbcabababababbcbcbcbcbcbcbcbcabababababbcbcbcbcbcbcbcbcabababababbcbcbcbcbcbcbcbcabababababbcbcbcbcbcbcbcbcababababab...
output:
4
result:
ok single line: '4'
Test #8:
score: 0
Accepted
time: 106ms
memory: 5408kb
input:
637 a0ababaacaacdbaacaacdeabaacaacdbaacaacdefbabaacaacdbaacaacdeabaacaacdbaacaacdefgababaacaacdbaacaacdeabaacaacdbaacaacdefbabaacaacdbaacaacdeabaacaacdbaacaacdefgh0ababaacaacdbaacaacdeabaacaacdbaacaacdefbabaacaacdbaacaacdeabaacaacdbaacaacdefgababaacaacdbaacaacdeabaacaacdbaacaacdefbabaacaacdbaacaacde...
output:
15
result:
ok single line: '15'
Test #9:
score: 0
Accepted
time: 1ms
memory: 3752kb
input:
62 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
output:
62
result:
ok single line: '62'
Test #10:
score: 0
Accepted
time: 276ms
memory: 5520kb
input:
700 00100100100100100100111111111001011011001111111111111111111000110110011111111111111111110001100011000110001100111100001111101001000101000100110101000000100111101001010110010101101010110000011100001001100100110010110010110110000001101001111111111111111111111010101000001101011000110001011011101110...
output:
176
result:
ok single line: '176'
Test #11:
score: 0
Accepted
time: 272ms
memory: 5788kb
input:
700 10010001101101010000000010010110110110111101000100010101111001100100100101000000100011001100100111111111111111101011111111111111110101101010101110111000000000011101010000000111000101101111100011000001001111100000000000011110110100010001000100010001000100010011101100010110001000011000011101010110...
output:
177
result:
ok single line: '177'
Test #12:
score: 0
Accepted
time: 112ms
memory: 5476kb
input:
700 11111111000010101011011110010011111010010101010000101010100001010101000010101010000101010100001010101000010101010000101010100001010101000010101010000101010100001010101000010101010000101010100001010101000010101010000101010100001010101000010101010000101010100001010101000010101010000101010100001010...
output:
18
result:
ok single line: '18'
Test #13:
score: 0
Accepted
time: 176ms
memory: 5524kb
input:
700 01101100110011001100110011001100110011001100110011001100110011001100110111100010011010001000011111111110011010111100100111111100010001011011011011011011011011011011011011011011011011011011011011011011011011011011010000000000000000000010000000001111110100101010101010101010101010101010101010111001...
output:
84
result:
ok single line: '84'
Test #14:
score: 0
Accepted
time: 107ms
memory: 5492kb
input:
700 10110011001111001000001101101011111101100110011110010000011011010111111011001100111100100000110110101111110110011001111001000001101101011111101100110011110010000011011010111111011001100111100100000110110101111110110011001111001000001101101011111101100110011110010000011011010111111011001100111100...
output:
13
result:
ok single line: '13'
Test #15:
score: 0
Accepted
time: 311ms
memory: 5600kb
input:
700 10001110110011011001110000010011100100110001010110101011010001101111010010000001011100001100011110001101101100001111100000111111011010101110111011111100100000000111110010111001111110001001011001011001111110010001101011100011011011100101000010001110100111011111000110000011111001100000111011100100...
output:
225
result:
ok single line: '225'
Test #16:
score: 0
Accepted
time: 219ms
memory: 5784kb
input:
700 65328101800908680904566951218351328891152593188464130155583126014684832119688539664139441440552100562958269621828329609666440199858531004691161950964008028192481145286669656595036441382161886063633855684232886899425416555498542349055341695089644056806424921445229806282239840609068621019265006265...
output:
581
result:
ok single line: '581'
Test #17:
score: 0
Accepted
time: 203ms
memory: 5500kb
input:
700 NWBRUWUBRMHSJPTZVOUIVPVRGFMNTYQPRBPUGMHTWKVRINZCTHLAQYKDTPWWXVBLDTPIUCAOJZAJQDYSMHCXKEEENXASJIIZKXZCGTOPPXKNCEXLEZUEXUZCQSFDJCRYSADDXGGAYGUNRAOBUTTYMDNJZDSZZABAWHPMXYRPTLUBNKLCEWKNLRDIUCDATUDCFGWKBBOPLLKVAXNRHUCBYXQLNVAPVDTTYQUKOBQWJRKPPXCASLZGOOQNRFWYPXXVDDJLWGYQWPGPKOBTHINREPIWJNPYJAPJCGSASXLL...
output:
665
result:
ok single line: '665'
Test #18:
score: 0
Accepted
time: 194ms
memory: 5528kb
input:
700 xjujBYBGndBmUv9ISTqxFJXMJ6SQ5IPg6QVOAmhnkcgsqk6TagnDWOtGCaY4yeXjAs0kYOZi2uSVSOjrP8QHw9CuQUzVa3bNipD0H87bZf1lQG6aeNzBeqGs3taq95AZsk56FkOjSNX16T3qxeAwQl8dbEsYKnjYmaipDvXfawtjKNCVbWMT4lKm5GX89PedXUUFzUzNAc5qvMUcdvVGNFJSNKgnuU91T8y5Q1yJigcq4owoEUNae9fGk54QWHrcopqsrQurJ0ZkDsniRApfRuIN1rcUIaDxSiWtftKh...
output:
693
result:
ok single line: '693'