题目链接题意:给定一个01串S,求出它的一个尽可能长的子串S[i..j],满足存在一个位置i<=x <=j, S[i..x]中0比1多,而S[x + 1..j]中1比0多.求满足条件的最长子串长度.初步分析:假设子串S[i..j]是满足条件的一个最长子串,且i和j均不是边界(0<i && j<n-1),则S[i-1]一定是1,否则S[i-1, j]也满足条件且比S[i, j]长,矛盾.同理可推出S[j+1]是0.用类似的逻辑进一步可推出存在一个位置i<=x &…
好像这题是4级题下放2级? 预处理:求每个位置 x 左区间 [ 0 , x ] 中 1 比 0 多的数量和右区间 ( x , n - 1 ] 中 0 比 1 多的数量(少就是负的).相当于求两个前缀和.这样在判断 1 多还是 0 多时判断前缀和与零的大小关系就行了. 更新答案:对于字符串中的每个位置 x 的左侧,要求前缀和小于零.如果小于零,符合要求,长度即下标加一.如果大于零(设为 k ),要从头开始,找到第一个位置,这个位置的左侧 1 也比 0 多 k 个,这样把这个位置之前的串剪掉,就剩下…
点击打开链接 1415: 小ho的01串 [字符串] 题目描述 有一个由0和1组成的字符串,它好长呀--------一望无际 恩,说正题,小ho的数学不太好,虽然是学计算机的但是看见0和1也是很头疼的, 现在他的老师想让他计算出来包含K个1的子串有多少个-----呀,头要炸了!!! 小ho知道你的数学棒棒哒,所以来找你帮忙了. 输入 第一行是一个数K. 第二行是一个字符串str. 0 < |str| ≤ 106 输出 一个数S,代表了满足条件的个数. 样例输入 2 101010 样例输出 6 5…
1391 01串 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 给定一个01串S,求出它的一个尽可能长的子串S[i..j],满足存在一个位置i<=x <=j, S[i..x]中0比1多,而S[x + 1..j]中1比0多.求满足条件的最长子串长度. Input 一行包含一个只由0和1构成的字符串S. S的长度不超过1000000. Output 一行包含一个整数,表示满足要求的最长子串的长度. Input示例…
还是01串 思路: 前缀和: 来,上代码: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define maxn 1000005 int n,sum[maxn]; char ch[maxn]; int main() { gets(ch),n=strlen(ch); ;i<n;i++) sum[i]=s…
给定一个0-1串s,长度为n,下标从0开始,求一个位置k,满足0<=k<=n, 并且子串s[0..k - 1]中的0的个数与子串s[k..n - 1]中1的个数相等. 注意: (1) 如果k = 0, s[0..k - 1]视为空串 (2) 如果k = n, s[k..n - 1]视为空串 (3) 如果存在多个k值,输处任何一个都可以 (4) 如果不存在这样的k值,请输出-1 收起   输入 就一行,包含一个0-1串S,长度不超过1000000. 输出 题目要求的k值 输入样例 01 输出样例…
862. 二进制数01串 ★   输入文件:kimbits.in   输出文件:kimbits.out   简单对比 时间限制:1 s   内存限制:128 MB USACO/kimbits(译 by !Starliu ) 描述 考虑排好序的N(N<=31)位二进制数. 你会发现,这很有趣.因为他们是排列好的,而且包含所有可能的长度为N且含有1的个数小于等于L(L<=N)的数. 你的任务是输出第I(1<=I<=长度为N的二进制数的个数)大的,长度为N,且含有1的个数小于等于L的那个…
题目内容:将01串首先按长度排序,长度相同时,按1的个数从少到多进行排序,1的个数相同时再按ASCII码值排序. 输入描述:输入数据中含有一些01串,01串的长度不大于256个字符. 输出描述:重新排列01串的顺序,使得串按题目描述的方式排序. 题目分析: (1)定义一个多重集合容器,该容器的元素类型为string,采用设定的比较函数 (2)因为元素是string而非结构体,所以可以编写比较函数,重载“()”操作符.对于参与比较的每两个字符串,若他们长度不同,则按长度由小到大返回:若他们长度相同…
Problem C Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submission(s) : 167   Accepted Submission(s) : 29 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description 调皮的萌萌喜欢在传输的数据上做改动,具体方法如下:…
bitset的经典使用: 见代码及注释: #include<bitset> #include<algorithm> using namespace std; //只需调用<bitset>库,以及声明namespace std #include<iostream> #include<cstdio> //作输出用 int main(){ bool flag; int num,pos; string mak_bit; //测试起: //声明部分: bi…