解题思路:

在原数组中,令男生为 1,女生为 −1 ,这样只要找到两个位置的前缀和相等,他们之间就是男女相等的连续子序列。我们记录每个前缀和第一次出现的位置,下次出现的时候,减去第一次的位置就是长度

为什么?

设前缀和数组为sums[],当sums[right] == sum[left]时,说明[left+1,right]是一个男女数相等的区间,这个区间的长度是right - (left + 1) +1 = right - left

代码:

#include<iostream>
#include<vector>
#include<unordered_map>
using namespace std;int main()
{int n;cin>>n;vector<int>nums(n + 1,0);unordered_map<int,int>hash;hash[0] = 0;//防止 1 0 0 1这种int ans = 0;for(int i = 1; i <= n; i++){cin>>nums[i];if(nums[i] == 0){nums[i] = -1;} nums[i] += nums[i-1];if(hash.find(nums[i]) == hash.end()){//第一次出现hash[nums[i]] = i;}else if(i - hash[nums[i]] > 0 && (i - hash[nums[i]] > ans)){//出现过ans = i - hash[nums[i]];}} cout<<ans;return 0;
}

[计蒜客]T1853 非常男女相关推荐

  1. 计蒜客 T1853:非常男女(前缀和)

    上一篇博客计蒜客 T1101:大整数的因子(高精度除法详解)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.这篇博客来记录一下计蒜客T18 ...

  2. 计蒜客 挑战难题 爬楼梯

    计蒜客 挑战难题 爬楼梯 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输 ...

  3. 无脑博士的试管们java_计蒜客 无脑博士和他的试管们

    标签: 无脑博士有三个容量分别是A,B,C升的试管,A,B,C分别是三个从1到20的整数,最初,A和B试管都是空的,而C试管是装满硫酸铜溶液的.有时,无脑博士把硫酸铜溶液从一个试管倒到另一个试管中,直 ...

  4. 最短路(遍历边)计蒜客—DD坐地铁

    题目: C 城有 n 个站点, m 条双向地铁,每条地铁有一个 companyicompany_icompanyi​表示它的公司,如果连续乘坐同一家公司的地铁只要花 1元钱就好.DD现在想出门找萨摩耶 ...

  5. K - Triangle 计蒜客 - 42405

    K - Triangle 计蒜客 - 42405 题意: 给你一个三角形的三点,再给你三角形边上一个点,让你求另一个点(也要在三角形上),使得平分三角形的面积 题解: 计算几何 三角形的三边ab,ac ...

  6. H - Prince and Princess 计蒜客 - 42402

    H - Prince and Princess 计蒜客 - 42402 题意: 你现在要寻找公主,有三种人,第一种是说真话的人(至少为1,因为公主是说真话的人),第二种人是只会说假话的,第三种是胡说八 ...

  7. C - Digital Path 计蒜客 - 42397 05-29

    C - Digital Path 计蒜客 - 42397 题意: 题意就是给出一个n ∗ m的数字矩阵每个矩阵元素之间只能上下左右走,而且下一个位置必须比当前位置的数字大1,入口和出口必须数边缘元素, ...

  8. 计蒜客可以做计算机编程吗,如果你的编程能力不足以支撑你成为工程师的野心,不妨到计蒜客上学学看...

    在人才招聘领域存在这样一个怪圈,高校每年都说是最难就业年.人才过剩,而对于企业HR来说永远都招不到称心如意的人才.这个怪圈在"计蒜客"创始人俞昊然看来,主要是因为当今高校的教学资源 ...

  9. 计蒜客 - T1012 A*B问题

    计蒜客 - T1012 A*B问题 相信你已经学会 A+B 问题了,那么问题又来了- 输入两个正整数 A 和 B ,求 A×B. 输入格式 一行,包含两个正整数 A 和 B,中间用单个空格隔开. 1≤ ...

最新文章

  1. stm32f302实现斩波控制步进电机_什么是步进电机控制器?
  2. python matshow用法
  3. 获取父页面URL的参数对应值及左对齐字符串
  4. log4j 源码解析_Log4j配置详解
  5. GDCM:gdcm::Writer的测试程序
  6. C#趣味程序---三色球问题
  7. hdu3339 In Action(Dijkstra+01背包)
  8. 吴恩达新书手稿完工,现在开放免费下载 | 资源
  9. php在u盘里运行,在U盘中直接运行Linux的详细步骤
  10. HFSS15.0新手村任务
  11. 小高不太行之前端——html网页制作
  12. docker 自动签到模板制作
  13. 工业控制信息系统中的商用密码应用思考
  14. 深度学习【注意力机制(Attention)原理和实现】
  15. 计算机网络 - 应用层
  16. 高考数学有得用计算机吗,高中数学为什么不让用计算器?
  17. 上对不起父母,下对不起孩子,你却自以为美好
  18. win10任务栏自动隐藏失效
  19. 瓷砖铺贴方法_5种常见的瓷砖铺贴及施工方法
  20. matlab画晶体结构图,#绘图教程专栏#不会画分子晶体结构模型?看了这篇教程就会了!...

热门文章

  1. python零基础入门教程-零基础入门Python爬虫不知道怎么学?这是入门的完整教程...
  2. 没有计算机基础可以学python-Python入门必看篇(面向小白)想学Python只看这一篇就够了...
  3. python教程推荐-入门python有什么好的书籍推荐?
  4. python和c先学哪个-先学C语言还是Python?资深程序员往往是这样建议的!
  5. python为什么叫爬虫-总算领会python为什么叫爬虫
  6. python怎么读-Python怎么读?为什么叫Python?
  7. Apache+Php+Mysql配置
  8. 最简单的基于FFmpeg的移动端例子附件:IOS自带播放器
  9. jQuery 文本编辑器插件 HtmlBox 使用
  10. MPEG2简单码流分析