你有乙個長度為 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
42
第乙個串翻轉第三個位置,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需要做的操作次數...