Codeforces Round #334 (Div. 2) C. Alternative Thinking
来源:互联网 发布:淘宝客教学视频 编辑:程序博客网 时间:2024/06/05 10:28
Kevin has just recevied his disappointing results on the USA Identification of Cows Olympiad (USAICO) in the form of a binary string of length n. Each character of Kevin's string represents Kevin's score on one of the n questions of the olympiad—'1' for a correctly identified cow and '0' otherwise.
However, all is not lost. Kevin is a big proponent of alternative thinking and believes that his score, instead of being the sum of his points, should be the length of the longest alternating subsequence of his string. Here, we define an alternating subsequence of a string as anot-necessarily contiguous subsequence where no two consecutive elements are equal. For example, {0, 1, 0, 1}, {1, 0, 1}, and{1, 0, 1, 0} are alternating sequences, while {1, 0, 0} and {0, 1, 0, 1, 1} are not.
Kevin, being the sneaky little puffball that he is, is willing to hack into the USAICO databases to improve his score. In order to be subtle, he decides that he will flip exactly one substring—that is, take a contiguous non-empty substring of his score and change all '0's in that substring to '1's and vice versa. After such an operation, Kevin wants to know the length of the longest possible alternating subsequence that his string could have.
The first line contains the number of questions on the olympiad n (1 ≤ n ≤ 100 000).
The following line contains a binary string of length n representing Kevin's results on the USAICO.
Output a single integer, the length of the longest possible alternating subsequence that Kevin can create in his string after flipping a single substring.
810000011
5
201
2
In the first sample, Kevin can flip the bolded substring '10000011' and turn his string into '10011011', which has an alternating subsequence of length 5: '10011011'.
In the second sample, Kevin can flip the entire string and still have the same score.
解题报告:Codeforces Round #334 Editorial
题意:给你一个长度是n的01序列,然后你可以选择一个非空子串
,进行反转操作,0变1,1变为0(只能操作以次),
最后能形成的最长的交替序列,一共有多长。
- Codeforces Round #334 (Div. 2) C. Alternative Thinking
- Codeforces Round #334 (Div. 2)C. Alternative Thinking(贪心)
- Codeforces Round #334 (Div. 2) C. Alternative Thinking
- Codeforces Round #334 (Div. 2) C. Alternative Thinking
- Codeforces Round #334 (Div. 2) 604C Alternative Thinking(脑洞)
- Codeforces Round #334 (Div. 2) C. Alternative Thinking(脑洞)
- Codeforces Round #334 (Div. 2)C. Alternative Thinking
- Codeforces Round #334 (Div. 2)-C. Alternative Thinking
- Codeforces Round #334 (Div. 2)-C Alternative Thinking(贪心)
- Codeforces Round #334 (Div. 2) C. Alternative Thinking(规律+贪心)
- Codeforces Round #334 C. Alternative Thinking (dp)
- 【Codeforces Round 334 (Div 2)C】【脑洞】Alternative Thinking 最多反转一个区间使得最长跳跃子串的长度尽可能长
- Codeforces Round #334 (603A) Alternative Thinking [贪心]
- CF 334 div.2-C/div.1-A/603A Alternative Thinking
- Codeforces 604 C Alternative Thinking【思维】
- 【33.10%】【codeforces 604C】Alternative Thinking
- Codeforces 604C - Alternative Thinking(思维)
- Alternative Thinking CodeForces
- Codeforces Round #334 (Div. 2) B. More Cowbell
- spi子系统 赏析
- [python语法巩固][leetcode326][Power of Three]
- Linux系统中System.map的解析
- C++学习笔记41——重载操作符之下标操作符
- Codeforces Round #334 (Div. 2) C. Alternative Thinking
- Algorithm Intro - Count Sort
- HDOJ 1290 献给杭电五十周年校庆的礼物 (数学—平面分割空间)
- struts2 基于XML配置方式实现校验(指定方法)
- 反射之获取父类
- 概率、随机数、随机数生成函数(面试题)
- HDU 1254:推箱子【DFS && BFS】
- 人见人爱A+B(2)
- Fragment详解之二——基本使用方法