【题解】CF1426D Non-zero Segments
\(\text{Solution:}\)
若\([l,r]\)子段和是\(0,\)则\(sum[r]=sum[l-1].\)
于是我们可以考虑维护当前哪一个前缀和出现过。对于区间\([l,r]\)若其子段和为\(0\)则在\(r-1\)的地方插入一个\(+\infty\)即可。
初始化要把\(0\)赋值为出现过。
#include<bits/stdc++.h>
using namespace std;
int n,a[500010];
map<long long,bool>mp;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;++i)scanf("%d",&a[i]);
	mp[0]=true;
	long long s=0;
	int ans=0;
	for(int i=1;i<=n;++i){
		s+=a[i];
		if(mp[s]){
			ans++;
			mp.clear();
			mp[0]=true;
			s=a[i];
		}
		mp[s]=true;
	}
	cout<<ans<<endl;
	return 0;
}
```cpp												
											【题解】CF1426D Non-zero Segments的更多相关文章
- LeetCode题解之Number of Segments in a String
		
1.题目描述 2.题目分析 找到字符串中的空格即可 3.代码 int countSegments(string s) { ){ ; } vector<string> v; ; i < ...
 - 题解-CF1389F Bicolored Segments
		
题面 CF1389F Bicolored Segments 给 \(n\) 条线段 \([l_i,r_i]\),每条有个颜色 \(t_i\in\{0,1\}\),求最多选出多少条线段,使没有不同颜色的 ...
 - CodeForces 430A Points and Segments (easy)(构造)题解
		
题意:之前愣是没看懂题意...就是给你n个点的坐标xi,然后还规定了Li,Ri,要求给每个点染色,每一组L,R内的点红色和黑色的个数不能相差大于1个,问你能不能染成功,不能输出-1,能就按照输入的顺序 ...
 - PAT甲题题解-1104. Sum of Number Segments (20)-(水题)
		
#include <iostream> #include <cstdio> #include <algorithm> #include <string.h&g ...
 - POJ3304:Segments——题解
		
http://poj.org/problem?id=3304 题目大意:给n条线段,求是否存在一条直线,将所有线段投影到上面,使得所有投影至少交于一点. ——————————————————————— ...
 - [CF846C]Four Segments题解
		
我们暴力枚举一下\(delim_{1}\) 然后对于每个\(delim_{1}\),O(n)扫一遍+前缀和求出最大\(delim_{0}\)和\(delim_{2}\),然后记录一下它们的位置就行啦 ...
 - Codeforces Round #337 (Div. 2) D. Vika and Segments 线段树 矩阵面积并
		
D. Vika and Segments Vika has an infinite sheet of squared paper. Initially all squares are whit ...
 - Codeforces Round #337 (Div. 2) D. Vika and Segments 线段树扫描线
		
D. Vika and Segments 题目连接: http://www.codeforces.com/contest/610/problem/D Description Vika has an i ...
 - usaco training 4.1.3 fence6 题解
		
Fence Loops题解 The fences that surround Farmer Brown's collection of pastures have gotten out of cont ...
 
随机推荐
- Rng(求逆元)
			
Problem Description Avin is studying how to synthesize data. Given an integer n, he constructs an in ...
 - CC2530的ADC采集外部电压
			
初窥ZIGBEE 要在zigbee的组网中加入烟雾传感器的模块,所以需要用到cc2530的ADC对传感器输出的模拟信号进行采样.下面是自己对实现用CC2530的ADC采集外部电压的程序过程. 以下是A ...
 - 剑指 Offer 42. 连续子数组的最大和
			
题目描述 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组.求所有子数组的和的最大值. 要求时间复杂度为\(O(n)\). 示例1: 输入: nums = [-2,1,-3,4,-1,2,1 ...
 - 再深入一点|binlog和relay-log到底长啥样?
			
上一篇mysql面试的文章之后收到不少朋友的意见,希望深入讲讲复制.日志的格式这些,今天,我们就来深挖一下mysql的复制机制到底有哪一些,以及binlog和relay-log的结构到底是什么样子的. ...
 - TP6.0中的密码验证逻辑、验证器的使用
			
目录 1. 场景一:只有一个密码框,并且是可选项,留空不修改密码,不留空则修改密码 2. 场景二:两个密码框,修改密码时有新密码.确认密码,新密码框不为空时,确认密码才验证 1. 场景一:只有一个密码 ...
 - IDEA下Git分支开发
			
IDEA下Git分支开发使用 1.新建本地开发分支 VCS-->git-->branches-->New Branch,输入分支名字,如branch_test,点击OK后本地开发分支 ...
 - 提升开发幸福度-IDE配置
			
插件 vscode插件 Settings Sync Atom One Dark Theme Bracket Pair Colorizer Code Runner Dracular Official E ...
 - SpringMVC-08-SpringMVC层编写
			
SpringMVC层编写 web.xml DispatcherServlet <!--DispatcherServlet--> <servlet> <servlet-na ...
 - Java源码之HashMap的hash篇
			
提到哈希,我们脑袋中立马就会闪过一个方法,就是hashCode(),没错.就是这个! 我们知道HashMap是通过 数组+链表 的结构进行数据存储的,有数组就会有索引,而HashMap内的数据要存储在 ...
 - linux定时重启服务器
			
需求说明 系统配置低了,且应用程序内一直在执行定时任务,在程序运行一段时间后,发现接口请求会变得很慢,需要每天定时凌晨重启服务器 脚本实现 1. linux 终端输入crontab -e,添加定时任务 ...