zoukankan      html  css  js  c++  java
  • Zero-Sum Ranges

    6771: Zero-Sum Ranges

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 155  解决: 51
    [提交] [状态] [命题人:admin]

    题目描述

    We have an integer sequence A, whose length is N.
    Find the number of the non-empty contiguous subsequences of A whose sums are 0. Note that we are counting the ways to take out subsequences. That is, even if the contents of some two subsequences are the same, they are counted individually if they are taken from different positions.

    Constraints
    1≤N≤2×105
    −109≤Ai≤109
    All values in input are integers.

    输入

    Input is given from Standard Input in the following format:
    N
    A1 A2 … AN

    输出

    Find the number of the non-empty contiguous subsequences of A whose sum is 0.

    样例输入

    6
    1 3 -4 2 2 -2
    

    样例输出

    3
    

    提示

    There are three contiguous subsequences whose sums are 0: (1,3,−4), (−4,2,2) and (2,−2).

    #include <bits/stdc++.h>
    
    using namespace std;
    typedef long long ll;
    const int maxn=2e5+6;
    int n;
    ll d[maxn],ans;
    map<ll,int>p;
    int main()
    {
        cin>>n;
        p[0]++;
        for(int i=1;i<=n;i++)cin>>d[i];
        for(int i=1;i<=n;i++){
            d[i]=d[i]+d[i-1];
            ans+=p[d[i]];
            p[d[i]]++;
        }
        cout<<ans<<endl;
        return 0;
    }
  • 相关阅读:
    怎样才是全能的程序员?
    [HDU 2553]N皇后问题
    [HDU 1870]愚人节的礼物
    [HDU 1016]Prime Ring Problem
    [HDU 1241]Oil Deposits
    [POJ 3250]Bad Hair Day
    [HDU 1276]士兵队列训练问题
    [POJ 2796]Feel Good
    [HDU 1237] 简单计算器
    总算开通博客园啦~
  • 原文地址:https://www.cnblogs.com/czy-power/p/10583625.html
Copyright © 2011-2022 走看看