思维+结论题:CF1965C Folding Strip——TJ
longyitongxue · · 题解
题目传送门
博客观看更佳
主要思路
思维+结论题。我们不难发现,我们最后折叠出来的纸条是
我们维护当前方向,翻转一次就旋转方向,同时维护好我们能走到的最左端
代码虽然只有
AC code
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr),cout.tie(nullptr);
int t;
cin>>t;
while(t--){
int n;
string s;
cin>>n>>s;
s=" "+s;
int l=2147483647,r=-2147483648,fx=1,id=0;
for(int i=1;i<=n;i++){
if(s[i]==s[i-1])fx*=-1;
else id+=fx;
l=min(l,id),r=max(r,id);
}
cout<<r-l+1<<'\n';
}
return 0;
}