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;
}


目录
相关文章
|
前端开发 算法
如何玩转新技术栈!高德大前端演进历程
高德技术开放日已经顺利落幕,我们准备了精彩的视频回放。这次放出的是由高德工程技术中心 郭忍东 为大家带来的《如何玩转新技术栈!高德大前端演进历程》。
1142 0
如何玩转新技术栈!高德大前端演进历程
|
开发框架 监控 前端开发
使用Vue-TreeSelect组件的时候,用watch变量方式解决弹出编辑对话框界面无法触发更新的问题
使用Vue-TreeSelect组件的时候,用watch变量方式解决弹出编辑对话框界面无法触发更新的问题
|
安全 定位技术 数据安全/隐私保护
GIS开发:国内互联网地图的坐标系
导航电子地图公开前需按《导航电子地图安全处理技术基本要求》进行空间位置技术处理,由官方指定机构统一实施。国内地图如高德、腾讯及谷歌中国采用GCJ02坐标系,百度则使用二次加密的BD09坐标系。这些坐标系基于WGS84(全球通用坐标系)进行了加密偏移以确保安全。设备获取的WGS84坐标需转换至相应坐标系以正确显示。开源工具如`coordtransform`可用于坐标转换,而天地图提供的在线切片未做偏移,可直接匹配WGS84坐标。
409 0
|
移动开发 运维 小程序
速抢!初创企业专享的0元建站豪礼!
今天,小云要向各位看官推荐一个助力企业降本增效开拓私域流量的方式——
318 0
|
机器学习/深度学习 传感器 算法
【路径规划】基于A星算法实现多机器人牛耕式分区路径规划附matlab代码
【路径规划】基于A星算法实现多机器人牛耕式分区路径规划附matlab代码
|
SQL 自然语言处理 并行计算
开源分布式数据库PolarDB-X源码解读——PolarDB-X源码解读(四):SQL的一生
开源分布式数据库PolarDB-X源码解读——PolarDB-X源码解读(四):SQL的一生
7482 0
|
机器学习/深度学习 人工智能 自动驾驶
上海人工智能实验室自动驾驶团队原作解读OpenLane:大规模真实场景3D车道线数据集
上海人工智能实验室自动驾驶团队原作解读OpenLane:大规模真实场景3D车道线数据集
377 0
|
存储 缓存 算法
“一文读懂”系列:AMS是如何动态管理进程的?
如果把WMS比作古代将军,那么这四类职责就是将军手下几元大将,而AMS作为Android整个体系的统筹者,理所当然的就是古代的皇帝。