zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 72 (Rated for Div. 2)C(暴力)

    #define HAVE_STRUCT_TIMESPEC
    #include<bits/stdc++.h>
    using namespace std;
    char s[200007];
    int a[200007][20];
    int main(){
    int t;
    cin>>t;
    while(t--){
    cin>>s+1;
    int n=strlen(s+1);
    for(int i=0;i<=n;++i)
    for(int j=0;j<=18;++j)
    a[i][j]=0;
    for(int i=1;i<=n;++i){
    if(s[i]=='1'){
    a[i][1]=1;
    for(int j=2;j<=18;++j){
    if(i+j-1>n)
    break;
    a[i][j]=a[i][j-1]<<1;//i为起点,i+j为终点
    if(s[i+j-1]=='1')//i+j-1即前最后一位,该位为1,+1即可
    a[i][j]++;
    }
    }
    }
    int x=1;//离i最近的不为0的位置
    int ans=0;
    int tmp=0;
    for(int i=1;i<=n;++i){
    if(s[i]=='1'){
    tmp=i-x;//前导零的个数
    for(int j=1;j<=18;++j){
    if(i+j-1>n)
    break;
    if(tmp+j>=a[i][j])//如果a[i][j]<=前导零的个数加上j(i~i+j,第i位为1),那么去掉一些前导零,即可a[i][j]==j+前导零的个数
    ++ans;
    }
    x=i+1;
    }
    }
    cout<<ans<<" ";
    }
    return 0;
    }

    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    期末实训学习认识SSH
    Hibernate 的认识
    action和domain的不同总结
    学习使用action属性来接受参数
    实现action的统配
    struts2学习
    路径问题--笔记
    学习C层
    innovus add_ndr rule
    innovus clock tree instance ccl cdb cwb等 名字命名含义
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11474924.html
Copyright © 2011-2022 走看看