985的0-1串難題
985有乙個長度為n的0-1串,已知他最多可以修改k次(每次修改乙個字元即0->1 或者 1->0),他想知道連續的全1子串最長是多少。
第一行輸入乙個整數t,代表有t組測試資料。
每組資料第一行輸入兩個整數n,k分別代筆上面的資訊。
注:1 <= t <= 12,1 <= n <= 100000,0 <= k <= 100000。
乙個整數代表可以得到的最大長度。
26 3010100
6 2010100
54
題解:就是求k個0之間的最大串長度。
思路:用cnt[ ]記錄0的個數和位置,cnt首尾加上0,cnt[0]=0,cnt[ ]=n+1.判斷時先比較k與0總數的大小。
#include#include#includeusing namespace std;
int main(){
int t,n,k,i;
char s[101010];
int cnt[101010];
scanf ("%d",&t);
while (t--){
scanf ("%d %d",&n,&k);
/* getchar();
gets(s);gets()不能隨便用,re,因為gets()可以無限讀取,不會判斷上限,需要足夠大的buffer
*/ scanf ("%s",s);
int pos=0;
cnt[pos++]=0;//首位加0
for (i=0;i=(pos-2))
printf ("%d\n",n);
else{
int num=0;
for (i=k+1;i
zzuli 1895 985的0 1串難題
985有乙個長度為n的0 1串,已知他最多可以修改k次 每次修改乙個字元即0 1 或者 1 0 他想知道連續的全1子串最長是多少。第一行輸入乙個整數t,代表有t組測試資料。每組資料第一行輸入兩個整數n,k分別代筆上面的資訊。注 1 t 12,1 n 100000,0 k 100000。乙個整數代表可...
1895 985的0 1串難題
time limit 1 sec memory limit 128 mb submit 152 solved 36 submit status web board 985有乙個長度為n的0 1串,已知他最多可以修改k次 每次修改乙個字元即0 1 或者 1 0 他想知道連續的全1子串最長是多少。第一行...
zzuli 1198 985的數字難題
985的數字難題 985有n個數,已知每次操作可以將其中不相同的兩個數乙個加 一 乙個減一,操作次數不限。問他最多可以得到多少個相同的數。第一行輸入乙個整數t,代表有t組測試資料。每組資料佔兩行,第一行輸入乙個n代表元素個數,下面一行輸入n個整數a。注 1 t 30,1 n 1e4,1 a 1e3。...