P10841 【MX-J2-T2】Turtle and Strings
题目背景
原题链接:https://oier.team/problems/J2C。
题目描述
给你一个仅由小写字母组成的字符串 s s s。
一个字符串序列 t 1 , t 2 , … , t k t_1, t_2, \ldots, t_k t1,t2,…,tk 是合法的当且仅当:
- s = t 1 + t 2 + ⋯ + t k s = t_1 + t_2 + \cdots + t_k s=t1+t2+⋯+tk,此处 + + + 为字符串拼接;
- ∀ 1 ≤ i ≤ k − 1 , t i ≠ t i + 1 \forall 1 \le i \le k - 1, t_i \ne t_{i + 1} ∀1≤i≤k−1,ti=ti+1。
求合法的字符串序列的长度的最大值。
输入格式
本题有多组测试数据。
第一行输入一个正整数 T T T,表示测试数据组数。
对于每组测试数据:
第一行包含一个正整数 n n n,表示字符串的长度。
第二行包含一个长度为 n n n 的仅由小写字母组成的字符串 s s s。
输出格式
对于每组数据,输出一行一个整数,表示合法的字符串序列的长度的最大值。
输入输出样例 #1
输入 #1
4
3
abc
5
aabbb
6
aaaaaa
10
pppqqppppq
输出 #1
3
3
4
7
说明/提示
【样例解释】
在第一组数据中,一个合法且长度最大的字符串序列为 [ a , b , c ] [\texttt{a}, \texttt{b}, \texttt{c}] [a,b,c]。
在第二组数据中,一个合法且长度最大的字符串序列为 [ a , abb , b ] [\texttt{a}, \texttt{abb}, \texttt{b}] [a,abb,b]。
在第三组数据中,一个合法且长度最大的字符串序列为 [ a , aa , a , aa ] [\texttt{a}, \texttt{aa}, \texttt{a}, \texttt{aa}] [a,aa,a,aa]。
【数据范围】
本题采用捆绑测试且开启子任务依赖。
| 子任务编号 | 分值 | n ≤ n \le n≤ | ∑ n ≤ \sum n \le ∑n≤ | 特殊性质 | 子任务依赖 |
|---|---|---|---|---|---|
| 1 1 1 | 18 18 18 | 9 9 9 | 1 0 4 10^4 104 | 无 | 无 |
| 2 2 2 | 21 21 21 | 50 50 50 | 1 0 3 10^3 103 | 无 | 1 1 1 |
| 3 3 3 | 12 12 12 | 1 0 6 10^6 106 | 1 0 6 10^6 106 | s 1 = s 2 = ⋯ = s n s_1 = s_2 = \cdots = s_n s1=s2=⋯=sn | 无 |
| 4 4 4 | 23 23 23 | 1 0 6 10^6 106 | 1 0 6 10^6 106 | 恰好存在一个位置 1 ≤ i ≤ n − 1 1 \le i \le n - 1 1≤i≤n−1 使得 s i ≠ s i + 1 s_i \ne s_{i + 1} si=si+1 | 无 |
| 5 5 5 | 26 26 26 | 1 0 6 10^6 106 | 1 0 6 10^6 106 | 无 | 1 , 2 , 3 , 4 1, 2, 3, 4 1,2,3,4 |
对于所有数据,满足 1 ≤ T ≤ 1 0 5 1 \le T \le 10^5 1≤T≤105, 1 ≤ n , ∑ n ≤ 1 0 6 1 \le n, \sum n \le 10^6 1≤n,∑n≤106, s s s 仅由小写字母组成。
C++实现
#include<bits/stdc++.h>
using namespace std;
int t;
int n;
string s;
int main(){
cin>>t;
for(int i=1;i<=t;i++){
cin>>n;
cin>>s;
int cnt=n;
string last=“”;
for(int j=0;j<s.size();j++){
if(last.size()==1&&s[j]==last[0])
cnt–,j++,last=s[j-1]+s[j];
else
last=s[j];
}
cout<<cnt<<‘\n’;
}
return 0;
}

后续
接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容
用C++信奥P10841普及组提高 【MX-J2-T2】Turtle and Strings&spm=1001.2101.3001.5002&articleId=145819579&d=1&t=3&u=5c2eeede0cb14d71b21ae9d34db8ffe0)
625

被折叠的 条评论
为什么被折叠?



