2023年湘潭大學程式設計競賽(重現賽)F

2021-09-21 17:48:58 字數 891 閱讀 4316

你有乙個長度為 n 的 01 串s,你可以執行最多 m 次操作。

對於每次操作,你可以選擇乙個位置 i 滿足 1≤i≤n1≤i≤n,翻轉這一位的值,0變成1,1變成0。

定義乙個 01 串的價值為其中最長連續0的個數和最長連續1的個數的較大值,求s在經過最多m次操作後的最大價值。

* 第一行乙個整數 t ,表示接下來有 t 個樣例。

* 首先輸入n,m,表示s串的長度n和操作次數m,其中1≤n≤1000001≤n≤100000,0≤m≤10000≤m≤1000;

* 接下來輸入乙個長度為n的字串s。

乙個整數,表示題面上描述的最大價值。
示例1

複製

2

5 100101

2 101

複製

4

2

第乙個串翻轉第三個位置,00001的價值為4;第二個串翻轉第乙個位置,11的價值為2。
題解用的二分+字首和

我用的尺取,感覺挺好寫的

#include using namespace std;

typedef long long ll;

typedef unsigned long long ull;

const int maxn=1e5+5;

char s[maxn];

int main()

} cnt0=max(cnt0,r-l+1);r++;

} k=0,l=1,r=1;

while(r<=n) //算1

} cnt1=max(cnt1,r-l+1);r++;

} printf("%d\n",max(cnt0,cnt1));

} return 0;

}

2023年湘潭大學程式設計競賽(重現賽)

a 模擬 includeusing namespace std int main return sum int main return 0 c 等差數列 includeusing namespace std int main if l r printf 0 n else return 0 d 可以這...

2023年湘潭大學程式設計競賽(重現賽)A

icpc比賽中,誰通過的題數多,誰排名靠前 在通過題數相同的情況下,誰的罰時少,誰排名靠前 如果前兩者都相同,就看最後正確提交的時間,誰早最排名靠前。現在給你兩個隊伍的正確通過的題數 罰時和最後正確提交時間,請判斷一下,誰的排名更靠前?只有一組測試樣例,兩行,每行三個整數n 0 n 13 p 1 p...

2023年湘潭大學程式設計競賽(重現賽)B

bonnie得到了乙個數字n。現在她想對這個數字不斷的做一種操作 給定n,請問bonnie需要做多少次操作?第一行乙個數字t 1 t 300000 t 1 t 300000 樣例個數。每個樣例僅一行乙個數字n 1 n 109 n 1 n 109 每個樣例輸出一行乙個數字 bonnie需要做的操作次數...