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
  • 相关阅读:
    List
    美团Leaf分布式ID生成策略
    单点登陆
    ElasticSearch
    Eureka
    Nginx
    UML
    Computer English
    加密
    Excel中把一列数据转换成逗号隔开的一行
  • 原文地址:https://www.cnblogs.com/hlmark/p/4296777.html
Copyright © 2011-2022 走看看