0%

牛客小白月赛116-Poi 的消消乐

思路讲解

image

首先,拿到题目,发现为01串,这个时候就要想到分块思想。

image

如何选用乘法压缩石块那?更优解。让B作为首位。但这种情况必须后面有A(即 idx≥3)。

image

最后代码实现就是这样

1
2
3
4
5
6
7
if(idx==1){
cout<<1<<"\n";
}else if(idx==2){
cout<<1+min(SZ(g[st[2]-'A']),3)<<"\n";
}else{
cout<<2<<"\n";
}

AC代码

心路历程(WA,TLE,MLE……)