2013, Samara SAU ACM ICPC Quarterfinal Qualification Contest C.Victor‘s Research

简介: 笔记

Victor’s Research


题意

给定一个长度为 n  的数组 找出有多少子数组的和为 k


思路

先求前缀和数组sum[] 题目要求可以表示为求有多少个r ,l 满足sum[r]−sum[l]==s (l < r)


转换一下可以得到:s u m [ l ] = = s u m [ r ] − s


即求对于当前的 sum[i] i 左边有多少区间和等于sum[i]−s i ∈ [ 1 , n ]


因为求的是 i 左边的区间 所以求完后再记录sum[i] 避免重复


代码

#include <bits/stdc++.h>
#define int long long
#define INF 0x3f3f3f3f
#define mod 1000000007
#define endl '\n'
#define rep(i, st, ed) for (int (i) = (st); (i) <= (ed);++(i))
#define pre(i, ed, st) for (int (i) = (ed); i >= (st);--(i))
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
inline int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
inline int lowbit(int x) { return x & -x; }
const int N = 200009;
int n, s;
int sum[N];
map<int, int>mp;
void solve() {
  cin >> n >> s;
  for (int i = 1; i <= n; ++i) {
    scanf("%lld", &sum[i]);
    sum[i] += sum[i - 1];
  }
  int res = 0;
  mp[0] = 1;
  for (int i = 1; i <= n; ++i) {
    res += mp[sum[i] - s];
    mp[sum[i]]++;
  }
  cout << res << endl;
}
signed main() {
  //int t; cin >> t;
  //while (t--) 
    solve();
  return 0;
}


目录
相关文章
|
3月前
|
Java
hdu 1164 Eddy's research I
hdu 1164 Eddy's research I
18 0
|
3月前
|
人工智能 Java
hdu 1165 Eddy's research II
hdu 1165 Eddy's research II
13 0
|
12月前
The Preliminary Contest for ICPC China Nanchang National Invitational M题 Subsequence
The Preliminary Contest for ICPC China Nanchang National Invitational M题 Subsequence
51 0
|
12月前
The Preliminary Contest for ICPC China Nanchang National Invitational H题 Coloring Game
The Preliminary Contest for ICPC China Nanchang National Invitational H题 Coloring Game
69 0
|
12月前
|
机器学习/深度学习 人工智能
The Preliminary Contest for ICPC China Nanchang National Invitational K题 MORE XOR
The Preliminary Contest for ICPC China Nanchang National Invitational K题 MORE XOR
53 0
|
机器学习/深度学习 BI
2020-2021 ACM-ICPC, Asia Seoul Regional Contest L. Two Buildings (决策单调性 分治)
2020-2021 ACM-ICPC, Asia Seoul Regional Contest L. Two Buildings (决策单调性 分治)
95 0
2020-2021 ACM-ICPC, Asia Seoul Regional Contest L. Two Buildings (决策单调性 分治)
|
机器学习/深度学习 人工智能 自然语言处理
SIGIR全称ACM SIGIR
SIGIR全称ACM SIGIR
432 0
The Famous ICPC Team Again
题目描述 When Mr. B, Mr. G and Mr. M were preparing for the 2012 ACM-ICPC World Final Contest, Mr. B had collected a large set of contest problems for their daily training. When they decided to take training, Mr. B would choose one of them from the problem set.
75 0
|
人工智能 Java
2012 ACM/ICPC Asia Regional Changchun Online-LianLianKan
题意:类似于我们玩的连连看,从上往下,6个水果内如果有相同的2个水果则可以消去,直至水果被消完,输出1,或是找不到可以消去的水果,输出0。
|
决策智能
BNUOJ 44578 Monty Hall problem
BNUOJ 44578 Monty Hall problem
98 0