思路:一个位num0-num1值=某位num0-num1值相等就代表这段区间内01数字相等,然后还要判断当前位置num0==num1这个情况

#include <bits/stdc++.h>
using namespace std;
typedef long long LL; const int N=1e6+10; char s[N];
int sumone[N];
int sumzero[N];
int mp[2*N]; int main()
{
int len,x;
sumone[0]=0;
sumzero[0]=0;
scanf("%s",s+1);
len=strlen(s+1);
int ans=0;
memset(mp,-1,sizeof(mp));
for(int i=1;i<=len;i++)
{
if((s[i]-'0')==0)
{
sumzero[i]=sumzero[i-1]+1;
sumone[i]=sumone[i-1];
x=sumone[i]-sumzero[i]+500000;
if(mp[x]==-1)
mp[x]=i;
else
ans=max(ans,i-mp[x]);
if(sumone[i]==sumzero[i])
ans=max(ans,i);
}
else
{
sumone[i]=sumone[i-1]+1;
sumzero[i]=sumzero[i-1];
x=sumone[i]-sumzero[i]+500000;
if(mp[x]==-1)
mp[x]=i;
else
ans=max(ans,i-mp[x]);
if(sumone[i]==sumzero[i])
ans=max(ans,i);
}
}
printf("%d\n",ans);
return 0;
}

51nod1393的更多相关文章

  1. [51NOD1393]0和1相等串(前缀和,map)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1393 题意:中文题面. 把0看成是-1,并且存一遍前缀和.这样 ...

随机推荐

  1. SSH实现在WIN7系统下访问虚拟机中的Linux系统

    使用的是centos6.4进行练习的,安装的是vmware8虚拟机.以下是总结的一些步骤: 一.确保vmware使用NAT的连接方式,如做地址.端口映射 首先查看vmware的中网络连接的一些方式:E ...

  2. 官网下载kettle

    首先什么是kettle,引用下百度百科 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定. Kettle 中文名称叫水壶,该项目 ...

  3. linux下修改主机名hostname方法(转载)

    查看主机名: 在终端输入hostname 永久修改 第一步:#hostname oratest 第二步:修改/etc/sysconfig/network中的hostname 第三步:修改/etc/ho ...

  4. iOS_高效开发之道

    iOS_高效开发之道 话不多说, 总结一下个人感觉有利于提高iOS开发效率的几个小技巧. 本文将从下面几方面介绍: Xcode经常使用快捷键 Xcode调试技巧 Objc经常使用代码片段 Xcode插 ...

  5. TCP 同步传输:客户端发送,服务器段接收

    1.服务器端程序 可以在TcpClient上调用GetStream()方法来获的链接到远程计算机的网络流NetworkStream.当在客户端调用时,他获的链接服务器端的流:当在服务器端调用时,他获得 ...

  6. Java开发面试题

  7. linux socket send和recv、write和read

    1 recv和read ssize_t recv(int sockfd, void *buf, size_t len, int flags); ssize_t read(int fd, void *b ...

  8. bc - An arbitrary precision calculator language

    bc(1) General Commands Manual bc(1) NAME bc - An arbitrary precision calculator language SYNTAX bc [ ...

  9. android中getWidth()和getMeasuredWidth()

    getMeasuredWidth()获取的是view原始的大小,也就是这个view在XML文件中配置或者是代码中设置的大小.getWidth()获取的是这个view最终显示的大小,这个大小有可能等于原 ...

  10. KeyChain相关参数的说明

    #pragma mark- 密钥类型 //密钥类型键 //CFTypeRef kSecClass // //值 //CFTypeRef kSecClassGenericPassword         ...