【题解】CF1426D Non-zero Segments
2024-10-09 20:15:38
\(\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
最新文章
- re
- AJAX获取数据成功后的返回数据如何声明成全局变量
- Hibernate的批量插入(&;&;JDBC)
- Mongodb故障转移
- Oracle数据库备份 expdp/impdp导出导入命令
- IOS 谓词
- java length size
- java核心知识点学习----多线程间的数据共享和对象独立,ThreadLocal详解
- 知识总结提炼-AP模块
- JNI错误总结(转)
- [大数据]-Elasticsearch5.3.1+Kibana5.3.1从单机到分布式的安装与使用<;2>;
- java对象表示方式--XStream
- 一键发布部署vs插件[AntDeploy],让net开发者更幸福
- jQuery 选择器demo练习
- [HTML]点击按钮,页面总是跳回顶端的解决方法(Clicking an button,always resets the view to top of page)
- cf Queries on a String
- Arrays 类的 binarySearch() 数组查询方法详解
- vue iview tree checked改变 不渲染的问题
- 跟我学Spring Boot(一)创建Spring Boot 项目
- Dinic算法——重述
热门文章
- Unity3d UGUI插件之TSTableView
- Fitness - 07.23 - Congratulation!
- PyCharm切换解释器版本
- Queries for Number of Palindromes(区间dp)
- 记录一个基于Java的利用快排切分来实现快排TopK问题的代码模板
- Java的String.matches不区分大小写正则表达式匹配示例
- ZT:通过Find命令找到你要找的东西
- 用命令方式启动、停止appium服务和app
- python基础:内置函数zip,map,filter
- unittest单元测试执行用例的顺序