題目大意:給你乙個長為n的串,只包含0和1字元,求這個串的最長的交替子串行(不連續),例如010,1,1010等都是交替序列,1001,11等都不是。還可以對串的乙個連續子串做乙個操作,將子串中的0都反轉為1,或著,將子串中的1都反轉為0.
求這個串的最長的交替子串行。
解題思路:若是滿足進行反轉的情況,則最多增加兩個字元。
所以,只需考慮不進行反轉時,最長的交替子串行。
若是10100.....0......01010,則最長的為 10101010 長度為8.
具體看**。
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
typedef long long ll;
const int inf=1e5+5;
char a[inf];
int n;
int main()
printf("%d",min(sum+2,n));
return 0;
}
遞推 規律思維題總結
一般來說,遞推題目的後一項會和前幾項有乙個關係式,當然也許這個關係式還得加個常熟。比如 a n a n 1 2 a n 2 a n 3 9 等等,這樣的形式的話,可以打乙個表,從中找出規律。當然也不排除後一項減去前一項,是2的n次方的情況等等.當發現不是這樣的規律的時候,就應該去考慮位數上的規律.就...
codeforce刷題 互動題
打codeforces第二週 又遇到了很多有意思的題型,可自己還是太菜了 寫份部落格記錄一下憨憨的自己 做的第一道互動題,記錄一下 this is an interactive problem.這是一道互動題 你通過列印問題詢問他,他給你結果,讓你找到最終的陣列 需要清除快取區,才能保證正確,否則就...
找規律 koishi的數學題
給你乙個公式,讓你求結果 詳細看題目鏈結裡面 如果出這種題,我就死定了 真的 看了一下,不會 那就打表。打了半天表沒發現什麼,因為 n 也在變,每次答案都不一樣,然後我換了個思路,對於每一位上的數針對 n 不同又是怎麼變得呢?於是我對於每一位又打了個表 x代表沒有數 1 0 1 2 3 4 5 6 ...