C - The Number Of Good Substrings CodeForces - 1217C

Posted zhangzhenjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C - The Number Of Good Substrings CodeForces - 1217C相关的知识,希望对你有一定的参考价值。

技术图片

 

 

技术图片

 

 


#include <bits/stdc++.h> using namespace std; typedef long long ll; /* 给你一个字符串只有0和1,问你有多少个子串满足长度等于该子串的二进数值 开始我不知道如何暴力,后来想直接借助前面求得二进制值来往下求 但是还是不可以,tle 现在的思路是,直接找1的位置,然后求他左边有多少前导0,以此1往后延伸,不够就用前导0,因为要枚举所有1 所以不会有遗漏,而且从1开始的吗所以最多往后延伸18位1<<18大于它的长度了 */ const int maxn=2e5+10; int dis=18; char s[maxn]; int main() int t; scanf("%d",&t); while(t--) scanf("%s",s); int sum=0; int len=strlen(s); int pre=0; for(int i=0; i<len; i++) if(s[i]==0) pre++; else int r=i; int cnt=1; for(int j=0; j<dis; j++) if(cnt<=pre+(r-i+1)) sum++; if(r==len-1) break; cnt=cnt*2+(s[++r]-0); pre=0; printf("%d\\n",sum); return 0;

 

以上是关于C - The Number Of Good Substrings CodeForces - 1217C的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] 1512. Number of Good Pairs

LeetCode --- 1512. Number of Good Pairs 解题报告

LeetCode --- 1512. Number of Good Pairs 解题报告

[LeetCode 1530] Number of Good Leaf Nodes Pairs

[CF1598G]The Sum of Good Numbers

数学CF27E Number With The Given Amount Of Divisors