【C++前缀和】野牛与狼

题目描述

位于欧洲中部的赫希费尔登狩猎保护区生活着许多动物,雄壮的野牛和凶狠的狼群之间保持着一种平衡,当野牛的数量和狼群一样多时,它们彼此互不侵犯相安无事,但只要狼的数量多于野牛狼群就会攻击牛群,而野牛数量占多数时,它们会驱逐狼群到别的地方。
当地的统计学家把牛群和狼群分布通过0和1表示为一个字符串S,S的字串可以表示一个区域内的牛和狼总数,请你根据这个统计字符串,判断出来这个保护区内能共存最多头野牛和狼的区域,该区域的牛群和狼群总数是多少。

输入

一个字符串,只包含01,长度不超过1000000。

输出

一行一个整数,最长的0与1的个数相等的子串的长度。

样例输入 Copy
1011
样例输出 Copy
2
提示

对于1011而言,它表示保护区内分布情况为:[牛,狼,牛,牛],那么最多只有[狼,牛]这2只动物存在于某个区域内,所以结果为2
对于10%的数据,字符串长度≤10; 
对于100%的数据,字符串长度≤1000000。

#include <bits/stdc++.h>
using namespace std;
const int N = 2000010;
int sum[N], idx[N], ans;
int main()
{string s;cin >> s;int L = s.size();for (int i = L; i >= 1; i--) s[i] = s[i - 1];for (int i = 1; i <= L; i++)if (s[i] == '1') sum[i] = sum[i - 1] + 1;else if (s[i] == '0') sum[i] = sum[i - 1] - 1;for (int i = 1; i <= L; i++){if (sum[i] == 0) ans = max(ans, i);if (!idx[sum[i] + (N >> 1)]) idx[sum[i] + (N >> 1)] = i;else ans = max(ans, i - idx[sum[i] + (N >> 1)]);}cout << ans << '\n';return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/685281.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正确看待OpenAI大模型Sora

2月16日凌晨&#xff0c;OpenAI发布了文生视频模型Sora。官方是这样描述的&#xff1a;Sora is an AI model that can create realistic and imaginative scenes from text instructions.Sora一个人工智能模型&#xff0c;它可以根据文本指令创建逼真和富有想象力的场景。Sora…

网络安全防御保护 Day5

今天的任务如下 要求一的解决方法&#xff1a; 前面这些都是在防火墙FW1上的配置。 首先创建电信的NAT策略 这里新建转换后的地址池 移动同理&#xff0c;不过地址池不一样 要求二的解决方法&#xff1a; 切换至服务器映射选项&#xff0c;点击新建&#xff0c;配置外网通过…

Java 基于 SpringBoot+Vue 的校园交友网站,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

DarkSide针对VMware EXSI系统进行加密

前言 最近黑客组织利用DarkSide勒索病毒对Colonial Pipeline 发起勒索攻击&#xff0c;国内外各大安全厂商和安全媒体也都有相关报道&#xff0c;DarkSide勒索软件是从2020年8月出现&#xff0c;并以(RAAS)勒索即服务的商业模式进行运作&#xff0c;此勒索病毒不仅可以部署基于…

详解 Redis 实现数据去重

✨✨ 欢迎大家来到喔的嘛呀的博客✨✨ &#x1f388;&#x1f388;希望这篇博客对大家能有帮助&#x1f388;&#x1f388; 目录 言 一. Redis去重原理 1. Redis Set 数据结构 2. 基于 Set 实现数据去重 3. 代码示例 4. 总结 …

月薪30K-100K,新一波工作机会来了,你准备好了吗

纯血版鸿蒙发布&#xff0c;开启一个新时代 1月18日下午&#xff0c;在“鸿蒙千帆起”发布会上&#xff0c;华为揭秘鸿蒙生态和纯血鸿蒙星河版HarmonyOS NEXT进阶的新进展。“几年来&#xff0c;在众多伙伴和开发者的共同努力下&#xff0c;鸿蒙生态设备数已达8亿&#xff0c;…

【医学图像分割 2024】BEFUnet

文章目录 【医学图像分割 2024】BEFUnet摘要1. 介绍2. 相关工作2.1 基于CNN的分割网络2.2 ViT2.3 用于医学图像分割的Transformer 3. 方法3.1 双支路编码器3.1.1 边缘编码器3.1.2 主体编码器 3.2 LCAF模块3.2.1 双级融合模块(DLF) 3.3 损失函数3.3.1 边缘监督损失3.3.2 整体边缘…

音响ATS2819 with HDMI ARC_1.4_2.0 Platforms项目需求

加我微信hezkz17,可申请加入数字音频系统研究开发交流答疑群,赠送音频项目核心开发资料 项目名称: ATS2819 with HDMI ARC_1.4_2.0 Platforms 设计要求 幻音型号: HYS-200A/B/C 项目依托: 结构设计: (草案) 2018/05/08

AJAX——接口文档

1 接口文档 接口文档&#xff1a;描述接口的文章 接口&#xff1a;使用AJAX和服务器通讯时&#xff0c;使用的URL&#xff0c;请求方法&#xff0c;以及参数 传送门&#xff1a;AJAX阶段接口文档 <!DOCTYPE html> <html lang"en"><head><meta c…

家人们,比赛打完了

啊&#xff0c;终于打完一场比赛了&#xff0c;但还有三场…… 先看看我的战绩&#xff1a; 共八题&#xff0c;AC6题&#xff0c;总共3902分&#xff0c;3.7k人参加&#xff0c;第980名 来看看第一&#xff1a; A8题&#xff0c;我只有2题没做出&#xff0c;相差4000多分&am…

mysql读写分离

读写分离&#xff1a;应用缓存的原则之一是保证缓存命中率足够高&#xff0c;在大量不同请求下的读多写少&#xff0c;“读写分离”是提升系统并发能力的重要手段。在完成主从复制之后&#xff0c;可以在写数据时只写主库&#xff0c;在读数据时只读从库 主从复制原理&#xff…

Compose 自定义 - 数据转UI的三阶段(组合、布局、绘制)

一、概念 Compose 通过三个阶段把数据转化为UI&#xff1a;组合&#xff08;要显示什么&#xff09;、布局&#xff08;要显示在哪里&#xff09;、绘制&#xff08;如何渲染&#xff09;。 组合阶段 Compisition 界面首次渲染时会将可组合函数转化为一个个布局节点 Layout Nod…

回归预测模型:机器学习回归模型

1.支持向量机回归 (Support Vector Machine Regression, SVR) 支持向量机回归&#xff08;SVR&#xff09;是支持向量机&#xff08;SVM&#xff09;在回归问题上的应用。与SVM用于分类不同&#xff0c;SVR的目标是找到一个函数&#xff0c;这个函数在所有训练样本的误差都不超…

请解释Java中的Spring框架,包括核心模块和常用模块。

请解释Java中的Spring框架&#xff0c;包括核心模块和常用模块。 Spring框架是一个轻量级的开源Java框架&#xff0c;用于构建企业级应用程序。它提供了全面的基础设施支持&#xff0c;包括依赖注入&#xff08;Dependency Injection&#xff09;、面向切面编程&#xff08;As…

0102awvs安装-扫描-信息收集

1 安装awvs23.7 解压压缩包&#xff0c;解压密码网站网址&#xff0c;下载地址在最后链接双击acunetix_23.7.230728157.exe安装程序 安装位置默认&#xff0c;如更改位置&#xff0c;后面需要更改bat文件相应内容 设置管理员信息 next直到浏览器跳出登录界面 2 运行运行www.dd…

SAP PP学习笔记 - 豆知识03 - SAP中的英文 - PP中英文,日语,中文

PP模块中的英文&#xff0c;日语&#xff0c;中文 对照。 生産計画 日本語英語中国語計画独立所要量planned independent requirement计划独立需求計画手配planned order计划订单資材所要量計画 (MRP)material requirements planning物料需求计划MRP エリアmrp areaMRP区MRP グ…

Linux命令-bunzip2命令(创一个bz2文件压缩包)

说明 bunzip2命令 解压缩由bzip2指令创建的”.bz2”压缩包。对文件进行压缩与解压缩。此命令类似于“gzip/gunzip”命令&#xff0c;只能对文件进行压缩。对于目录只能压缩目录下的所有文件&#xff0c;压缩完成后&#xff0c;在目录下生成以“.bz2”为后缀的压缩包。bunzip2其…

第9章 网络编程

9.1 网络通信协议 通过计算机网络可以实现多台计算机连接&#xff0c;但是不同计算机的操作系统和硬件体系结构不同&#xff0c;为了提供通信支持&#xff0c;位于同一个网络中的计算机在进行连接和通信时必须要遵守一定的规则&#xff0c;这就好比在道路中行驶的汽车一定要遵…

Spring Resource

java.net.URL 类可用于访问带有各种URL前缀的资源&#xff0c;但是对于访问一些资源还是不够方便。比如不能从类路径或者相对于ServletContext来获取资源。而Spring 的Resource接口&#xff0c;则可以通过类路径等方式来访问资源。 1 Resource接口 图 Resource接口及方法 getI…

ATS2819 +HDMI_ARC音响项目需求

加我微信hezkz17,可申请加入数字音频系统研究开发交流答疑群,赠送音频项目核心开发资料 项目名称: ATS2819 +HDMI_ARC 设计要求 万科型号: E800A/B/C/D 项目依托: 结构设计: (草案) 2018/06/16