zoukankan      html  css  js  c++  java
  • CodeChef Count Substrings

    Count Substrings

     
    Problem code: CSUB
     

    All submissions for this problem are available.

    Read problems statements in Mandarin Chinese and Russian.

    Given a string S consisting of only 1s and 0s, find the number of substrings which start and end both in 1.

    In this problem, a substring is defined as a sequence of continuous characters Si, Si+1, ..., Sj where 1 ≤ i ≤ j ≤ N.

    Input

    First line contains T, the number of testcases. Each testcase consists of N(the length of string) in one line and string in second line.

    Output

    For each testcase, print the required answer in one line.

    Constraints

    • 1T105
    • 1N105
    • Sum of N over all testcases ≤ 105

    Example

    Input:
    2
    4
    1111
    5
    10001
    
    Output:
    10
    3
    

    存在任意两个数 gcd = 1 必然为n , 否则为 -1

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <cstring>
    #include <vector>
    #include <queue>
    
    using namespace std;
    const int N = 100010;
    int n , m , e[N] , ans ;
    inline int gcd( int a , int b ) { return b == 0 ? a : gcd(b,a%b); }
    int Run() {
        scanf("%d",&n);
        for( int i = 0 ; i < n ; ++i ) scanf("%d",&e[i]);
        sort( e , e + n );
        for( int i = 1 ; i < n ; ++i ) if( gcd(e[0],e[i]) == 1 ) {
            return n;
        }
        return -1;
    }
    int main()
    {
        #ifdef LOCAL
            freopen("in","r",stdin);
        #endif
        ios::sync_with_stdio(0);
        int _ , cas = 1 ;
        scanf("%d",&_);
        while(_--) printf("%d
    ",Run());
    }
    View Code
  • 相关阅读:
    将u8BF7字符串转换为汉字
    ubuntu扩容
    python面试题
    OCR开源项目
    58到家数据库30条军规解读
    dvwa sql盲注教程
    python time模块详解,时间格式转换
    python正则表达式
    tr命令详解
    腐烂
  • 原文地址:https://www.cnblogs.com/hlmark/p/4296777.html
Copyright © 2011-2022 走看看