牛客小白月賽4 I 合唱隊形

2022-05-21 03:45:29 字數 758 閱讀 8672

鐵子的班級在畢業晚會有乙個合唱節目,到了畢業晚會的時候,他們必須排成一排一起合唱"認錯","當然是選擇原諒他"等一系列原諒歌曲,但是當隊形布置好的時候,領導們覺得隊形裡最長的連續的女生的長度太小了,但是由於馬上要開始演唱,所以最多只能兩個人交換位置,問新隊形中最長的連續的女生的長度是多少?

第一行乙個數字n表示鐵子班級的總人數。1≤n≤10
5

第二行乙個字串s表示最初的隊形布置,si=0表示第i個人是女生,si=1表示第i個人是男生。

輸出一行表示答案
示例1

複製

6

101010

複製

3

將第6個女生和第3個男生交換位置可以滿足要求

#includeusing

namespace

std;

const

int maxn = 1e5+5

;int

l[maxn], r[maxn];

char

a[maxn];

intmain()

else l[i]=0

; }

for(int i=n;i>=1;i--)

for(int i=1;i<=n;i++)

}for(int i=2;i<=n;i++)

printf(

"%d\n

",ans);

}return0;

}

牛客小白月賽4 I 合唱隊形

做法,2個人交換位置肯定是男和女交換,列舉全部男生就可以了。一共就三種情況,第一種是n個人全部是女生,那最長連續女生就是n了,第二種是,當前列舉到的男生,左邊連續女生的個數 右邊連續女生的個數等於總的女生數量,連續長度就是l i 1 r i 1 第三種是,當前列舉到的男生,左邊連續女生的個數 右邊連...

牛客小白月賽4 I 合唱隊形

做法,2個人交換位置肯定是男和女交換,列舉全部男生就可以了。一共就三種情況,第一種是n個人全部是女生,那最長連續女生就是n了,第二種是,當前列舉到的男生,左邊連續女生的個數 右邊連續女生的個數等於總的女生數量,連續長度就是l i 1 r i 1 第三種是,當前列舉到的男生,左邊連續女生的個數 右邊連...

牛客小白月賽4 I 合唱隊形 暴力

這是一道我打bug打得顛狂地笑出來的題 其實是笑自己神經病 題解 1 統計妹子個數,放置後期處理溢位 2 給序列上的每個點染色 染成所屬最長妹子序列長度 3 對於每個男生點,判斷兩邊顏色相加再 1,注意和妹子總數比較維護最小值,最長序列維護最大值就是答案 4 顛狂點 邊界情況,全是妹子,或者全是單身...