【題目】
合唱隊形
時間限制:c/c++ 1秒,其他語言2秒
空間限制:c/c++ 262144k,其他語言524288k
64bit io format: %lld
題目描述
鐵子的班級在畢業晚會有乙個合唱節目,到了畢業晚會的時候,他們必須排成一排一起合唱"認錯","當然是選擇原諒他"等一系列原諒歌曲,但是當隊形布置好的時候,領導們覺得隊形裡最長的連續的女生的長度太小了,但是由於馬上要開始演唱,所以最多只能兩個人交換位置,問新隊形中最長的連續的女生的長度是多少?
輸入描述:
第一行乙個數字n表示鐵子班級的總人數。1≤n≤105
第二行乙個字串s表示最初的隊形布置,si=0表示第i個人是女生,si=1表示第i個人是男生。
輸出描述:
輸出一行表示答案
6
101010
3
將第6個女生和第3個男生交換位置可以滿足要求
【題解】
用陣列f記錄每個男生前後的連續女生數,最後做個判斷就好了。
【**】
#includeusing namespace std;
int main()
else
k++;
for(i=1;i<=k;i++)
ans=max(ans,f[i-1]+f[i]);
if(sum==n||ans==sum)
printf("%d\n",sum);
else
printf("%d\n",ans+1);
return 0;
}
牛客網 合唱隊形(dp,順逆算兩遍)
合唱隊形 題目描述 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學不交換位置就能排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 t2 ti ti ti 1 tk 1 i k 你的任務是...
合唱隊形 DP
合唱隊形 chorus.pas c cpp n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 ti 1 tk 1 i k 你的任務是,已知所...
合唱隊形 dp
題目描述 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學不交換位置就能排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 t2 ti ti ti 1 tk 1 i k 你的任務是,已知所有...