QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#797878#2807. Dishonest DriverzxcenAC ✓311ms5824kbC++14776b2024-12-03 20:13:502024-12-03 20:13:51

Judging History

This is the latest submission verdict.

  • [2024-12-03 20:13:51]
  • Judged
  • Verdict: AC
  • Time: 311ms
  • Memory: 5824kb
  • [2024-12-03 20:13:50]
  • Submitted

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'