和为S(51Nod-2518)
题目
小b有一个01序列A,她想知道A有多少个非空连续子序列和为S。
你能帮帮她吗?
输入
第一行输入一个数n,表示A的长度;
第二行输入n个数‘0’或‘1’,表示A中的元素,以空格隔开;
第三行输入一个非负整数S;
其中0≤S≤n≤30000。输出
输出一个数,表示子数组的个数
输入样例
5
1 0 1 0 1
2输出样例
4
思路:维护一个前缀和即可
源程序
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#define EPS 1e-9
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
const int MOD = 1E9+7;
const int N = 40000+5;
const int dx[] = {0,0,-1,1,-1,-1,1,1};
const int dy[] = {-1,1,0,0,-1,1,-1,1};
using namespace std;int a[N];
int sum[N];
map<int,int> mp;
int main() {int n;scanf("%d",&n);for(int i=1; i<=n; i++){scanf("%d",&a[i]);sum[i]=a[i]+sum[i-1];}int k;scanf("%d",&k);int cnt=0;for(int i=1; i<=n; i++) {if(sum[i]==k)cnt++;int pos=sum[i]-k;cnt+=mp[pos];mp[sum[i]]++;}printf("%d\n",cnt);return 0;
}
和为S(51Nod-2518)相关推荐
- 51nod 1617 奇偶数组
传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...
- 51NOD 1773:A国的贸易——题解
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1773 参考1:FWT讲解 https://www.cnblogs.com ...
- hdu 2518 Dominoes
Dancing Links--- 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2518 Dominoes Time Limit: 2000/1000 ...
- 51nod 1040:最大公约数之和(数论)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1040 给出一个n,求1-n这n个数,同n的最大公约数的和. ...
- (DP)51NOD 1183 编辑距离
编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除 ...
- 斜率小于0的连线数量 51Nod - 1107 (树状数组+离散化)
二维平面上N个点之间共有C(n,2)条连线.求这C(n,2)条线中斜率小于0的线的数量. 二维平面上的一个点,根据对应的X Y坐标可以表示为(X,Y).例如:(2,3) (3,4) (1,5) (4, ...
- 51Nod 1003 阶乘后面0的数量(数学,思维题)
1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720 ...
- 51nod 1270 数组的最大代价
1270 数组的最大代价 题目来源: HackerRank 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 数组A包含N个元素A1, A2......AN.数组B包 ...
- 51nod 算法马拉松18 B 非010串 矩阵快速幂
51nod 算法马拉松18 B 非010串 矩阵快速幂 非010串 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 如果一个01字符串满足不存在010这样的子串,那么称它为非010串 ...
- [51nod]1284 2 3 5 7的倍数(容斥原理)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1284 1 #include <iostream> ...
最新文章
- 改变IT世界的11大Apache开源技术
- Leangoo看板工具做单团队敏捷开发
- PHP使用Zend Opcache之优化加速和缓存清理总结
- Dr. Evil Underscores(异或最大值最小)
- iOS开发内购图文教程
- NSA-LDL论文修改建议20211116(R-T Bai)
- 勒索软件损失2年增15倍 2017年可达50亿美元
- HTML5拖放API(代码展示)
- struts1.2上传文件到服务器
- linux centos7.9中安装docker的3种方式-图解
- layer自动补全 select
- [转]EntityFramework Core技术线路(EF7已经更名为EF Core,并于2016年6月底发布)
- mysql 1236错误_mysql故障~Got fatal error 1236 解决方法
- 苹果亮度自动调节怎么关闭_Redmi K30 Pro自动亮度调节和iPhone基本一致,安卓手机的大进步...
- 生产制造工厂的十二项生产管理步骤
- 视频网站中video标签中blob:http
- 教师资格证面试计算机教案模板,教师资格证面试教案怎么写?教案模板拿走
- first()案例和take(n)案例_大数据培训课程
- anasys hpc集群_HPC详细介绍
- 大航海时代5服务器维护,大航海时代5经验获取心得以及进度状况讲解