博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Crazy Binary String<Map法>
阅读量:4594 次
发布时间:2019-06-09

本文共 823 字,大约阅读时间需要 2 分钟。

#include
#include
#include
using namespace std;map
k;int max(int x,int y){ if(x>=y){ return x; }else{ return y; }}int min(int x,int y){ if(x>=y){ return y; }return x;}int main(){ int a=0,b=0; int n; int maxn=0; cin>>n; k[0]=0; char s; for(int i=1;i<=n;i++){ cin>>s; if(s=='1'){ a++; }else{ b++; } if(k.find(a-b)==k.end()){ k[a-b]=i; }else{ maxn=max(maxn,i-k[a-b]); } } cout<
<<" "<

 题目的大体意思就是求一个字符串的子串和子序列中1与0相等的最大值。

对于子序列还比较简单,直接开始的时候判读一个字符串中最小的是1还是0,然后乘2就可。

子串一开始我想用前缀和,但是感觉N*N的复杂度会T,所以发一次map法

这道题是Upc的一道题的简化版..

转载于:https://www.cnblogs.com/Fylsea/p/11244732.html

你可能感兴趣的文章
IaaS,PaaS,SaaS 的区别
查看>>
Python复习基础篇
查看>>
关于Cocos2d-x中背景音乐和音效的添加
查看>>
.Net持续集成 —— Jenkins+Git+WebDeploy
查看>>
01_Numpy基本使用
查看>>
checkbox和文字对齐
查看>>
JConsole远程连接配置 服务器监控工具
查看>>
了解HTTP协议栈(实践篇)
查看>>
loj10035. 「一本通 2.1 练习 1」Power Strings
查看>>
%s的用法
查看>>
调用底层不能直接访问的类和方法
查看>>
清理缓存的方法 #DF
查看>>
JAVA array,map 转 json 字符串
查看>>
2017-12-27练习
查看>>
NET设计规范(二) 命名规范
查看>>
VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2
查看>>
SSL延迟
查看>>
android新手关于左右滑动的问题,布局把<android.support.v4.view.ViewPager/><ImageView/> 放在上面就不行了。...
查看>>
深入理解DIP、IoC、DI以及IoC容器
查看>>
赋值文件
查看>>