考虑头部,一定是能向前就向前,因此是最左边的腿往右$b-1$个位置。

头部移动之后,腿部就要相应地移动到区间内最靠右的$l$个$1$之上。

若头部和腿部都不能移动,检查是否到达终点即可。

用前缀和以及对前缀和做映射来支持查询。

时间复杂度$O(n)$。

#include<cstdio>
const int N=1000010;
int T,l,b,n,i,h,f,nh,nf,s[N],p[N];char a[N];long long ans;
int main(){
scanf("%d",&T);
while(T--){
scanf("%d%d%d%s",&l,&b,&n,a+1);
for(i=1;i<=n;i++)if(a[i]=='0')s[i]=s[i-1];else p[s[i]=s[i-1]+1]=i;
ans=n-b,h=b,f=l;
while(1){
nh=p[s[f]-l+1]+b-1;
if(nh>n)nh=n;
nf=p[s[nh]];
if(nh==h&&nf==f)break;
h=nh;
if(nf>f)f=nf,ans+=l;
}
if(h<n)puts("IMPOSSIBLE");else printf("%lld\n",ans);
}
return 0;
}

  

BZOJ2268 : Wormly的更多相关文章

  1. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

随机推荐

  1. 提取Word里的文本内容 C#

    using DocumentFormat.OpenXml.Packaging; public static string TextFromWord(string path) { const strin ...

  2. Scrapy库的安装(windows版)

    这个是需要安装的所有文件 1. wheel pip install wheel 2. lxml http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 3. P ...

  3. java编译通过,为什么运行却提示找不到或无法加载主类?

    java编译通过,为什么运行却提示找不到或无法加载主类? https://www.zhihu.com/question/36537093 这边提供一个关于程序中含有package关键字,使用“终端”运 ...

  4. windows下载安装MariaDB10.2.17 绿色版

    1.下载 https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.2.17/winx64-packages/mariadb-10.2.17-w ...

  5. Unable to locate package python-pip

    原文:https://blog.csdn.net/yyinhai/article/details/53056973 Ubuntu下执行apt install python-pip得到如下错误提示: R ...

  6. openresty用naxsi防xss、SQL注入

    下载naxsi wget https://github.com/nbs-system/naxsi/archive/untagged-afabfc163946baa8036f.tar.gz tar zx ...

  7. Echarts-各个配置项详细说明总结【转】

    1.图表标题 1 title: { 2 x: 'left', // 水平安放位置,默认为左对齐,可选为: 3 // 'center' ¦ 'left' ¦ 'right' 4 // ¦ {number ...

  8. 认识IQueryable和IQueryProvider接口

    1.Func<Student, bool>和Expression<Func<Student, bool>>的区别 class Program { static vo ...

  9. WebApi接口返回值不困惑:返回值类型详解

    前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.作为程序猿,我们都知道参数和返回值是编程领域不可分割的两大块,此前分享了 ...

  10. Codeforces 442D Adam and Tree dp (看题解)

    Adam and Tree 感觉非常巧妙的一题.. 如果对于一个已经建立完成的树, 那么我们可以用dp[ i ]表示染完 i 这棵子树, 并给从fa[ i ] -> i的条边也染色的最少颜色数. ...