游戏机本当下手

题目:

藤原妹红拿到了一个游戏机,游戏机上有’1’和’0’两个按钮。
妹红发现,只要按住某个按钮不放,屏幕上就能一直不断打印那个字符。
比如对于"11111111100000000001111111111",只需要按住1、再按住0、再按住1就可以打印出来了。这样妹红最少只需要按3次按钮就可以打印这个字符串。
现在妹红拿到了一个01字符串,她想截取其中的一个子串,这个子串最少按 次按钮就可以打印出来。
(01字符串指仅由字符’0’和字符’1’组成的字符串)
注意这里“最少按 次”的含义是:按 次可以打印出这个子串,但按 次就一定打印不出这个子串。
妹红想知道,一共有多少子串符合要求?
注:一个字符串的子串为该字符串删掉前面和后面部分字符(也可以不删)生成的字符串。
两个子串只要在字符串中位置不同则认为是不同的(哪怕字符串相等)。

输入描述:

第一行两个正整数 和 ,分别代表字符串的长度、和妹红按下按钮的次数。
第二行为一个仅由字符“0”和“1”组成的字符串。

输出描述:

妹红至少按 次就能按出来的子串的数量。

样例1:

输入:
6 2
001100
输出:
8

样例2:

输入:
3 1
110
输出:
4

思路:

k=1要特判,1-n累加。k>1,依次记录下不同的0,1区间的长度。ans=changdu[i]+changdu[i+k-1]。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int b[1000005]={0};
char a[1000005];
int main(){int n,k;cin>>n>>k;int s=0;int ss=1;for(int i=1;i<=n;i++){cin>>a[i]; if(i==1)s++;else{if(a[i]!=a[i-1]){b[ss]=s;ss++;s=1;}elses++;}
}b[ss]=s;
ll ans=0;
if(k>ss){cout<<0;
return 0;
}
if(k==1){ll sum=1;for(int i=1;i<=ss;i++){int p=b[i];sum=0;for(int j=1;j<=p;j++){sum=sum+j;}ans+=sum;
}
cout<<ans;
}else{for(int i=1;i<=ss-k+1;i++){ll sum=1;sum=sum*b[i]*b[i+k-1];ans=ans+sum;
}cout<<ans;
}
}

E-游戏机本当下手(北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛)相关推荐

  1. 北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛(同步赛)

    A .爱丽丝的人偶(一) 链接:https://ac.nowcoder.com/acm/contest/8755/A 来源:牛客网 题目描述 爱丽丝有n个人偶,每个人偶的身高依次是 1,2,3,-n ...

  2. 北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛题解

    A 爱丽丝的人偶(一) 链接:https://ac.nowcoder.com/acm/contest/8755/A 题目描述 爱丽丝有个人偶,每个人偶的身高依次是 现在她要将这个人偶摆成一排. 但是人 ...

  3. 2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛题解

    链接:https://www.nowcoder.com/acm/contest/118/A 来源:牛客网 PUBG 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语 ...

  4. 2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛 H 程序员的好印象

    题意: 有一个0,1的序列,当你出现1之后就不能在出现0了,问你最长的子序列长度是多少 思路:0 0 0  1 1 1 ,1之后不能出现0了,那其实就是最长上升子序列啊没了... 代码: #inclu ...

  5. 2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛 A题题解

    链接: https://www.nowcoder.com/acm/contest/118/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言655 ...

  6. 北京信息科技大学第十三届程序设计竞赛暨ACM选拔赛(重现赛)题解

    题目链接: 北京信息科技大学第十三届程序设计竞赛暨ACM选拔赛(重现赛)_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ大学ACM校赛新生赛是面向ACM/ICPC/CCP ...

  7. 北京信息科技大学第十三届程序设计竞赛暨ACM选拔赛题解

    北京信息科技大学第十三届程序设计竞赛暨ACM选拔赛题解 A lzh的蹦床 B 所谓过河 C 旅行家问题1 D 旅行家问题2 E 小菲和Fib数列 F 好玩的音乐游戏 G ranko的手表 H 字母收集 ...

  8. 北京信息科技大学计算机专业学科评估,北京信息科技大学学科评估结果排名(第四次):最新完整...

    选择院校和专业时,北京信息科技大学学科评估结果及排名情况怎样是广大考生和家长朋友们十分关注的问题,根据教育部最新发布的全国第四轮学科评估结果可知,北京信息科技大学有仪器科学与技术1个一级学科评估为C+ ...

  9. 北京信息科技大学计算机科学,2020年北京信息科技大学计算机科学与技术考研经验分享...

    原标题:2020年北京信息科技大学计算机科学与技术考研经验分享 大家好,我是育明考研小赵老师 关于北京信息科技大学计算机科学与技术考研信息汇总,请参考 一.院校分析 北京信息科技大学由原机械部所属的北 ...

最新文章

  1. 重记解决kube-dns故障一则---ceph惹的祸
  2. boost::hana::zip_with用法的测试程序
  3. DCMTK:读取DICOM图像并创建匹配的演示状态
  4. java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解
  5. 顶级数据库行会Percona阿里全面解析下一代云数据库技术
  6. linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程
  7. Hello Quartz (第一部分)
  8. 如何将UTF-8转换为UTF-8n
  9. 拓端tecdat|R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
  10. DB2百度网盘下载的地址
  11. Gifox for Mac 1.6.0 优秀的Gif动画录制工具 破解版下载
  12. 三星c9000刷android7.0,三星C9 Pro C9000官方原厂rom线刷包刷机包C9000ZCU1CRI1
  13. 走进波分 -- 15.Optix OSN1800产品介绍
  14. dell r710重装系统_DELL R710系统安装指南10页
  15. 计算机状态代码意义,DELL电脑自检代码错误提示含义
  16. C# 如何批量删除Excel单元格中的公式只保留数据
  17. Picture of my baby when 2 monthes old_拔剑-浆糊的传说_新浪博客
  18. 惠普台式电脑引导不了系统_hp台式机进不去系统怎么办
  19. /system32/ntoskrnl.exe丢失无法启动
  20. 微软进军杀毒软件市场

热门文章

  1. zbrush是个什么神仙软件?学会zbrush可以做什么?
  2. LSTM结构理解与python实现
  3. 微软所有正版软件下载网站ITELLYOU_我是亲民_新浪博客
  4. 微信摇一摇抽奖的H5制作思路
  5. Android谷歌地图地理编码,谷歌地图API地理编码多个地点
  6. One_hot和Word2Vec两种词向量方法的原理及比较
  7. 洛谷P5071 [YNOI2015]此时此刻的光辉 莫队+玄学优化+卡常QWQ
  8. 外呼系统APP外呼软件手机电销软件拨号销售软件功能设计
  9. [有机化学] 简单有机物的英文命名法
  10. 如何提高程序员的工作效率 这几招就够了