【CF】873B Balanced Substring(前缀和+map)
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)的更多相关文章
- CF873B Balanced Substring (前缀和)
CF873B Balanced Substring (前缀和) 蛮有意思的一道题,不过还是.....................因为CF评测坏了,没有试过是否可过. 显然求\(\sum[i][0] ...
- [Codeforces 873B]Balanced Substring
Description You are given a string s consisting only of characters 0 and 1. A substring [l, r] of s ...
- CodeForces - 873B Balanced Substring(思维)
inputstandard input outputstandard output You are given a string s consisting only of characters 0 a ...
- Codeforces 873B - Balanced Substring(思维)
题目链接:http://codeforces.com/problemset/problem/873/B 题目大意:一个字符串全部由‘0’和‘1’组成,当一段区间[l,r]内的‘0’和‘1’个数相等,则 ...
- 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 ...
- Codeforces 873 B. Balanced Substring(前缀和 思维)
题目链接: Balanced Substring 题意: 求一个只有1和0的字符串中1与0个数相同的子串的最大长度. 题解: 我的解法是设1的权值是1,设0的权值是-1,求整个字符串的前缀和并记录每个 ...
- 【Cf edu 30 B. Balanced Substring】
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- 837B. Balanced Substring
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- Balanced Substring
You are given a string s consisting only of characters 0 and 1. A substring [l, r] of s is a string ...
- CF #371 (Div. 2) C、map标记
1.CF #371 (Div. 2) C. Sonya and Queries map应用,也可用trie 2.总结:一开始直接用数组遍历,果断T了一发 题意:t个数,奇变1,偶变0,然后与问的 ...
随机推荐
- mysql统计特定字符串出现次数
其中'test'为原始字符串,'t'为特定字符串 SELECT floor((char_length('test') - char_length(replace('test', 't', '')) ...
- Typora怎么插入行内公式?内联公式设置
文件 偏好设置 把内联公式那个勾上就可以了.然后就能写latex了,像这样,$\alpha\$ \(\alpha\) 输入一个\$后再按esc,会自动补全为$$
- 从零开始学习 Java 系列之你为什么要学 Java?
全文大约[4000]字,不说废话,只讲可以让你学到技术.明白原理的纯干货! 在正式开始本系列教程之前,壹哥希望先用一篇文章,来扫清你学习前的认知障碍.请坚定自己的学习信念,不要半途而废浪费时间,壹哥希 ...
- linux服务器qps查询,查看当前linux服务器的QPS
https://blog.csdn.net/weixin_42119281/article/details/116595205 QPS:每秒查询率(QPS,Queries-per-second)是对一 ...
- 父组件传值给子组件时 ,watch props 监听不到解决方案
watch:{ data:{ immediate:true, handler:function(){ } } }
- JS中我们为什么要new个实例而不直接执行
正常情况:<script> function sayHello() { alert("hello") } sayHello();直接调用他 </script> ...
- 全渠道定价、库存决策,运筹混合整数规划建模求解,MNL选择模型,内附代码!
0. 写在前面 刊论文!模型简单,代码实现更简单,墙裂推荐!可为运筹建模提供参考,也可作为全渠道零售研究的入门资料ε٩(๑> ₃ <)۶з 全文有点长,前面先放一个博文结构和涉及内容: 第 ...
- pysimplegui之光标 - 元素和窗口的设置
光标 - 元素和窗口的设置 通过将光标设置为元素或整个窗口,可以将普通箭头光标更改为其他内容.当您将鼠标移到元素或窗口上时,结果将是光标发生变化. 最好的例子之一是 URL.当鼠标移到链接上时,用户习 ...
- 【Diary】JZSC 2020 旅 游 记(迫真
Day-2 期末考试的day1. 科目是数学 政治 语文.数学25.(3)没动.政治各种抄选择题选项()语文难得写完了.作文压根不知道写的什么 Day-1 期末考试的day2. 科目是英语 物理 历史 ...
- Numpy数组乘法
Numpy数组乘法 元素级乘法 numpy.multiply() 或 * : 数组对应位置元素相乘 import numpy as np # 一维数组 a = np.array([1, 2, 3, 4 ...