和为S
2518 和为S
- 2 秒
- 262,144 KB
- 10 分
- 2 级题
小b有一个01序列A,她想知道A有多少个非空连续子序列和为S。
你能帮帮她吗?
收起
输入
第一行输入一个数n,表示A的长度;
第二行输入n个数‘0’或‘1’,表示A中的元素,以空格隔开;
第三行输入一个非负整数S;
其中0≤S≤n≤30000。
输出
输出一个数,表示子数组的个数
输入样例
5
1 0 1 0 1
2
输出样例
4
思路:f[i]为前i相和,然后暴力做一些n方复杂度可解
#include<iostream>
#include<algorithm>
using namespace std;
int a,n,k,f[],sum;
int main(){
cin>>n;
for(int i=;i<=n;i++){
cin>>a;
f[i]=f[i-]+a;
}
cin>>k;
for(int i=;i<=n-k;i++){
for(int j=i+k;j<=n;j++){
if(f[j]-f[i]==k&&i!=j)
sum++; }
}
cout<<sum<<endl;
return ;
}
随机推荐
- 在linux下用tomcat部署java web项目的过程与注意事项(转)
在linux下用tomcat部署java web项目的过程与注意事项一.安装JDK到http://www.oracle.com/technetwork/java/javase/downloads/in ...
- windows动态磁盘导致的分区问题
上次说到由于装双系统导致我的win7启动不了了,一直以为是不是在ubuntu的安装界面点错了什么东西导致的,甚至认为是不是server的安装程序有点bug,直到今天继续折腾才发现了问题所在,跟ubun ...
- unix网络编程环境配置程序运行
1 查看ubuntu版本 cat /etc/issue 2 查看版本 cat /proc/version 3 下载 你可以通过其他方式下载 这里下载好了 文件名为unpv13e 4 开始配置 (1)c ...
- PTA 朋友圈【并查集的合并问题】
一开始,考虑的是每次就是把第一个作为祖先,这样很明显是错误的,比如 7 4 3 1 2 3 2 4 2 3 5 6 7 1 6 所以这正是更好地体现对于集合的代表.只有把所有的元素合并一下,然后选一个 ...
- 利用pyinstaller生成exe文件碰到的一些问题及解决方法
在“开源图像标注工具labelme的安装使用及汉化”这篇博客中,使用pyinstaller将labelme项目的入口python文件main.py打包,生成了main.exe文件,可以在Windows ...
- LuoguP2657 [SCOI2009]windy数 【数位dp】By cellur925
题目传送门 题目大意:在A和B之间,包括A和B,总共有多少个不含前导零且相邻两个数字之差至少为2的正整数? 显然是数位dp啦=w=. 显然与上一位有关,我们$dfs$的时候就要记录$pre$.因为这是 ...
- __slots__ 和 @property
动态非常灵活, 创建一个class后, 给实例绑定一个属性: >>> class Bird: ... pass ... >>> s = Bird() >> ...
- UWP 实现分享功能
一:需求 实现点击分享按钮,分享内容到微博,邮箱等.. like this 二:DataTransferManager 数据传输管理类 DataTransferManager dataTransfer ...
- 洛谷 P3810 【模板】三维偏序(陌上花开) (cdq分治模板)
在solve(L,R)中,需要先分治solve两个子区间,再计算左边区间修改对右边区间询问的贡献. 注意,计算额外的贡献时,两子区间各自内部的顺序变得不再重要(不管怎么样左边区间的都发生在右边之前), ...
- Generating Palindromes LightOJ - 1033
Generating Palindromes LightOJ - 1033 题意:添加最少的字符使得给出的字符串成为回文串.输出添加的字符数. 方法:常规区间dp.ans[i][j]表示使得ans[i ...