https://ac.nowcoder.com/acm/contest/11210/G
思路需要处理 环 和 数组和部分之和为 0的问题 易想到 前缀和+ 开二倍长度数组 处理 考虑时间复杂度是On^2 会被卡死 所以我们需要换一种做法 因此经过思考 不难发现 -----------------处理区间和------------------- 我们可以每次都将 区间 的前i项和 进行处理 并且映射,如果对于这种区间存在重复 那么就说明存在一个区间是总和为0的 所以区间和的问题就可以通过映射来处理, 即两个前缀相同的区间 中间存在一个和为0的区间 -----------------处理区间和------------------- -----------------处理环问题------------------- 因为题目中的关键句 “保证数组元素之和为零” 因此环问题, 我们不难发现 其实只需要考虑首尾是否的和是否为0即可 但是我们其实在处理区间和的时候 我们就已经可以把首尾这种情况给安排上了 只需要对答案进行++即可
Code:#include
using namespace std;
map mp;
int main()
{
int t;
cin>>t;
while(t -- )
{
int n;
cin>>n;
int m = 0;
int ans = 0;
mp.clear();
for(int i=1;i>x;
m+=x;
mp[m]++;
ans=max(ans,mp[m]);
}
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?