Balanced Substring

刚讲过差分与前缀和专题,一直以为这两个名词很高大上,其实也就那回事。哈哈。

题源https://codeforces.com/contest/873/problem/B

题意:给你一串01字符串,让你寻找其中最长的平衡字符串长度。

平衡字符串:字符串中 1的个数=0的个数

题解:所谓平衡,那么当遇见0的时候当-1。然后利用前缀和的思想,求出前缀和。

当一个前缀和第二次出现的时候就是出现了平衡字符串。那么我们用map<int,int>来记录前缀和sum和第一次出现的下标即可,之后再遇见sum,计算平衡字符串的长度就ok。

PS:我可不会告诉你我先开始求出了一个前缀和数组s,然后傻乎乎的从开始找那个数,然后从倒着找另一个数。时间复杂度太高了(扯犊子操作啊哈哈)

代码

#include <iostream>
#include <cstdio>
#include <map>
#define maxn 100005
using namespace std;
//@start: 2020-03-26 20:44:09
//source:https://codeforces.com/contest/873/problem/B
//前缀和 map<int,int> mp; int main()
{
int n,sum=0,ans=0;
string s;
cin>>n>>s;
mp[0]=0;//此地方是个坑点
for(int i=0;i<n;i++)
{
if(s[i]=='1')sum++;
else sum--;
if(mp.count(sum))
ans=max(ans,i+1-mp[sum]);
else
mp[sum]=i+1;
}
cout<<ans;
return 0;
}

【CF】873B Balanced Substring(前缀和+map)的更多相关文章

  1. CF873B Balanced Substring (前缀和)

    CF873B Balanced Substring (前缀和) 蛮有意思的一道题,不过还是.....................因为CF评测坏了,没有试过是否可过. 显然求\(\sum[i][0] ...

  2. [Codeforces 873B]Balanced Substring

    Description You are given a string s consisting only of characters 0 and 1. A substring [l, r] of s  ...

  3. CodeForces - 873B Balanced Substring(思维)

    inputstandard input outputstandard output You are given a string s consisting only of characters 0 a ...

  4. Codeforces 873B - Balanced Substring(思维)

    题目链接:http://codeforces.com/problemset/problem/873/B 题目大意:一个字符串全部由‘0’和‘1’组成,当一段区间[l,r]内的‘0’和‘1’个数相等,则 ...

  5. codefroces 873 B. Balanced Substring && X73(前缀和思想)

    B. Balanced Substring You are given a string s consisting only of characters 0 and 1. A substring [l ...

  6. Codeforces 873 B. Balanced Substring(前缀和 思维)

    题目链接: Balanced Substring 题意: 求一个只有1和0的字符串中1与0个数相同的子串的最大长度. 题解: 我的解法是设1的权值是1,设0的权值是-1,求整个字符串的前缀和并记录每个 ...

  7. 【Cf edu 30 B. Balanced Substring】

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  8. 837B. Balanced Substring

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  9. Balanced Substring

    You are given a string s consisting only of characters 0 and 1. A substring [l, r] of s is a string ...

  10. CF #371 (Div. 2) C、map标记

    1.CF #371 (Div. 2)   C. Sonya and Queries  map应用,也可用trie 2.总结:一开始直接用数组遍历,果断T了一发 题意:t个数,奇变1,偶变0,然后与问的 ...

随机推荐

  1. ElasticSearch 实现分词全文检索 - match、match_all、multimatch查询

    目录 ElasticSearch 实现分词全文检索 - 概述 ElasticSearch 实现分词全文检索 - ES.Kibana.IK安装 ElasticSearch 实现分词全文检索 - Rest ...

  2. 驱动开发:配置Visual Studio驱动开发环境

    在正式开始驱动开发之前,需要自行搭建驱动开发的必要环境,首先我们需要安装Visual Studio 2013这款功能强大的程序开发工具,在课件内请双击ISO文件并运行内部的vs_ultimate.ex ...

  3. flutter系列之:创建一个内嵌的navigation

    目录 简介 搭建主Navigator 构建子路由 总结 简介 我们在flutter中可以使用Navigator.push或者Navigator.pushNamed方法来向Navigator中添加不同的 ...

  4. 再次打开Spring界面,多处报错

    分享一下经历 在我再次打开Srpring之后,打算解决一下"历史遗留问题",发现多处标红(挺崩溃的)! 就比如这句话,刚才就是不亮: 毕竟我上次的应用还是很顺利的,所以也就没有第一 ...

  5. Rancher 系列文章-RHEL7.8 离线有代理条件下安装单节点 Rancher

    一 基础信息 1.1 前提 本次安装的为 20220129 最新版:Rancher v2.6.3 VM 版本为 RHEL 7.8, 7.9 或 8.2, 8.3, 8.4(Rancher 官网要求) ...

  6. 逍遥自在学C语言 | 逻辑运算符

    前言 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.构成和表示方式 逻辑运算符是用来比较和操作布尔值的运算符 ...

  7. [数据库]MYSQL之InnoDB存储引擎 VS MYISAM存储引擎

    InnoDB VS MYISAM 参考文献 innoDB与MyISAM的区别 - Zhihu

  8. day104:MoFang:个人中心页面&flask-admin&基于faker生成仿真数据

    目录 BUG:登陆跳转并解决页面卡顿现象 1.前端显示个人中心页面 2.flask-Admin构建和配置后台运营站点管理用户信息 3.基于Faker生成仿真测试数据 BUG:登陆跳转并解决页面卡顿现象 ...

  9. 最新升级优化 shopee|美客多 Mercadolibre|shopfiy|lazada|独立货代贴单系统 可规模化的贴单打单系统 源码下载独立部署

    七想网络 跨境猴 最新优化改进版本的 虾皮代打包-虾皮代贴单 独立部署源码版本货代贴单系统 介绍: 台湾海外仓_shopee货代_虾皮物流–虾皮代贴单 虾皮代打包-虾皮代贴单-虾皮货代平台 shope ...

  10. 【Vue项目】尚品汇(六)ShopCar组件开发 购物车模块

    4 购物车 4.1 购物车商品数量控制 Detail\index.vue <div class="cartWrap"> <div class="cont ...