zzuli1895: 985的0-1串难题
生活随笔
收集整理的這篇文章主要介紹了
zzuli1895: 985的0-1串难题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
//解法:用二分查找,如果當前位置是'1',則查找比這個位置多k+1個零的位置,如果當前位置是'0',則查找比當前位置多k個零的位置,
注意要在末尾添個最大的值
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<cctype> #include<queue> #include<vector> #include<algorithm>using namespace std; typedef long long LL; #define N 100100 #define INF 0x3f3f3f3fchar s[N]; int a[N];int main() {int T, n, k, q;scanf("%d", &T);while(T--){scanf("%d%d", &n, &k);scanf("%s", s);memset(a, 0, sizeof(a));for(int i=0; i<n; i++){if(i==0&&s[i]=='1')a[i+1]=a[i-1]+1;if(s[i]=='0')a[i+1]=a[i]+1;elsea[i+1]=a[i];}a[n+1]=INF;int ans=-1;for(int i=1; i<=n; i++){if(s[i-1]=='1')q=a[i]+k+1;elseq=a[i]+k;int t=lower_bound(a, a+n+2, q)-a;ans=max(ans, t-i);}printf("%d\n", ans);}return 0 ; }?
轉(zhuǎn)載于:https://www.cnblogs.com/9968jie/p/5772184.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的zzuli1895: 985的0-1串难题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 收款码个人不能用是谣言 在浏览信息时要擦
- 下一篇: 图的理解:深度优先和广度优先遍历及其 J