有没有大神解答一下这道题,求求

刚开始,你拥有一个长度为n的只有'0'和'1'构成的字符串s。 现在,我们想要知道在这个字符串中,有多少组x,y(1 <= x <= y <= n)使得至少存在一组a, b使得1 <= a, b <= n 并且 x <= a < 2 * b + a <= y 并且 s_a == s_(a+b) == s_(2*a+b)。 s_X表示s的第X个字符。

输入描述:

输入一个字符串s,(1 <= |s| <= 200000)(|s|表示s的长度)。

输出描述:

输出有几组x,y满足条件
示例1

输入

复制 010101
010101

输出

复制 3
3

说明

第一组中,可以取到x,y分别为1 5\1 6\2 6
示例2

输入

复制 11001100
11001100

输出

复制 0
0

说明

第二组中不存在任何满足条件的x,y

#笔试题目#
全部评论
对于每个a,b来说,一但a,b符合条件,那么[0,a]和[2b+a,n]这段区间都是可以作为答案的,我们每次计算下贡献的答案即可。对于每个点来说判断一下它作为a位子是不是符合条件,假如符合的话就计算答案,这里需要处理一下重复的情况~
点赞 回复 分享
发布于 2020-12-30 11:35
点赞 回复 分享
发布于 2020-12-30 11:13

相关推荐

秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
面试官全程关摄像头1.自我介绍一下2.React和Vue哪个更熟悉一点3.你在之前那段实习经历中有没有什么技术性的突破(我只是实习了44天工作28天,我把我能说的都说了)4.你封装的哪个表单组件支不支持动态传值5.自己在实习阶段Vue3项目封装过hook吗6.hook有什么作用7.Vue2和Vue3的响应式区别(我说一个是proxy是拦截所有的底层操作,Object.defineProperty本身就是一个底层操作,有些东西拦截不了,比如数组的一些操作还有等等,面试官就说实在要拦截能不能拦截????我心想肯定不行呀,他的底层机制就不允许吧)8.pinia和vuex的区别(这个回答不出来是我太久没用了)9.pinia和zustand的区别,怎么选(直接给我干懵了)(我说react能用pinia吗&nbsp;&nbsp;他说要用的话也可以)10.渲染一万条数据,怎么解决页面卡顿问题(我说分页、监听滚轮动态加载,纯数据展示好像还可以用canvas画)(估计是没说虚拟表单,感觉不满意)11.type和interface的区别12.ts的泛型有哪些作用(我就说了一个结构相同但是类型不同的时候可以用,比如请求响应的接口,每次的data不同,这里能用一个泛型,他问我还有什么)13.你项目用的是React,如果让你再写一遍你会选择什么14.pnpm、npm、yarn的区别15.dependencies和devdependencies的区别总而言之太久没面试了,上一段实习的面试js问了很多。结果这次js一点没问,网络方面也没考,表现得很一般,但是知道自己的问题了&nbsp;&nbsp;好好准备,等待明天的影石360和周四的腾讯了&nbsp;&nbsp;加油!!!
解zj:大三的第一段面试居然是这样的结局
查看15道真题和解析
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务