1895: 985的0-1串难题

    xiaoxiao2025-04-20  4

    1895: 985的0-1串难题

    Time Limit: 1 Sec   Memory Limit: 128 MB Submit: 266   Solved: 77 Submit Status Web Board

    Description

    985有一个长度为n的0-1串,已知他最多可以修改k次(每次修改一个字符即0->1 或者 1->0),他想知道连续的全1子串最长是多少。

    Input

    第一行输入一个整数t,代表有t组测试数据。 每组数据第一行输入两个整数n,k分别代笔上面的信息。 注:1 <= t <= 12,1 <= n <= 100000,0 <= k <= 100000。

    Output

    一个整数代表可以得到的最大长度。

    Sample Input

    26 30101006 2010100

    Sample Output

    54

    HINT

    Source

    hpu

    #include<stdio.h> int main() { int t,n,k; char st[100010]; int dp[100010]; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&k); scanf("%s",st); int l=1; for(int i=0;i<n;i++) if(st[i]=='0') dp[l++]=i+1; dp[0]=0; dp[l]=n+1; if((l-1)<k) printf("%d\n",n); else { int max=0; for(int i=0;i<l-k;i++) { if(max<dp[i+k+1]-dp[i]) max=dp[i+k+1]-dp[i]; } printf("%d\n",max-1);    } } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-1298251.html
    最新回复(0)