Welcome to Liukejie's |

liukejie

园龄:1年8个月粉丝:5关注:11

2023-07-01 11:22阅读: 8评论: 0推荐: 0

AT3732 [ARC088B] Wide Flip题解

题目传送门

思路

要求的是 k 的最大长度,

无需考虑翻转次数。

对于第 i 个字符来说,假设它不等于前 i1 个字符,前 i1 个字符又相等,那么为了最后的结果,要么选择翻转前 i 个字符,要么翻转后 ni 个字符。

因此可以去枚举字符串,寻找第 i1 个字符与第 i 个字符不同的 i,在 ini 中去取最大的一个。

要求最大的长度 k

在每一个字符进行翻转的最大值中选最小的一个即可。

代码如下:

#include <bits/stdc++.h>
using namespace std;
string s;
int ans = INT_MAX;
int main() {
	cin >> s;
	int len = s.size () ;

	for (int i = 1; i < len ; i ++)
		if (s[i] != s[i - 1])
			ans = min (ans, max (i, len - i) ) ;

	cout << min (ans, len) << endl;
	return 0;
}

完结撒花 ∼∼∼

posted @   liukejie  阅读(8)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起