Luogu P1114 “非常男女”计划/Luogu P2697 宝石串

(感觉我最近很爱做双倍经验的题啊)

使$d$等于第$i$个位置男生数(绿宝石数)减女生数(红宝石数)的差值。

那么差值相等的两个位置之间的人(宝石)是满足相等的。

所以找到在差值相等情况下最左边和最右边的位置。

特别要注意要把$0$的位置作为差值为$0$的起点。

(两道题的读入略微有些不同)

Luogu P1114

#include<bits/stdc++.h>

using namespace std;

int n,sumboy,sumgirl,ans;
int l[200010],r[200010]; int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) {
int x,d;
scanf("%d",&x);
x==1?sumboy++:sumgirl++;
d=sumgirl-sumboy+n;
if(!l[d]&&d!=n) {
l[d]=i;
}
else {
r[d]=i;
}
}
for(int i=0;i<=n*2;i++) {
ans=max(ans,r[i]-l[i]);
}
printf("%d",ans);
return 0;
}

Luogu P2697

#include<bits/stdc++.h>

using namespace std;

int sumg,sumr,ans,len;
int l[1000010],r[1000010];
char c[1000010]; int main()
{
scanf("%s",&c);
len=strlen(c);
for(int i=1;i<=len;i++) {
int x,d;
x=c[i-1];
x=='G'?sumg++:sumr++;
d=sumr-sumg+len;
if(!l[d]&&d!=len) {
l[d]=i;
}
else {
r[d]=i;
}
}
for(int i=0;i<=len*2;i++) {
ans=max(ans,r[i]-l[i]);
}
printf("%d",ans);
return 0;
}

Luogu P1114 “非常男女”计划/Luogu P2697 宝石串的更多相关文章

  1. [洛谷OJ] P1114 “非常男女”计划

    洛谷1114 “非常男女”计划 本题地址:http://www.luogu.org/problem/show?pid=1114 题目描述 近来,初一年的XXX小朋友致力于研究班上同学的配对问题(别想太 ...

  2. 洛谷 P1114 “非常男女”计划

    To 洛谷.1114 “非常男女”计划 题目描述 近来,初一年的XXX小朋友致力于研究班上同学的配对问题(别想太多,仅是舞伴),通过各种推理和实验,他掌握了大量的实战经验.例如,据他观察,身高相近的人 ...

  3. [洛谷P1114] “非常男女”计划

    题目描述 近来,初一年的XXX小朋友致力于研究班上同学的配对问题(别想太多,仅是舞伴),通过各种推理和实验,他掌握了大量的实战经验.例如,据他观察,身高相近的人似乎比较合得来. 万圣节来临之际,XXX ...

  4. P1114 “非常男女”计划

    题意:给你一个01串,求满足0和1总数相等的最大字串   $n\ \le\ 10^5$ 1.$O(n^3)$枚举起点终点,统计判断是否成立 2.$O(n^2)$先$O(n)$时间计算01个数的前缀和, ...

  5. 洛谷 P2697 宝石串

    题目传送门 解题思路: 将红色的设置为-1,绿色的为1,统计前缀和sum,如果sum[i] == sum[j],则说明i~j是一个稳定的区间 因为答案要求最大,所以我们要记录每个sum值的最左端点(也 ...

  6. 前缀和(P2697 宝石串)

    前言 每次做出来什么本来做不出的题目,就忍不住记录一下.不过大多时候隔几天来看,就发现,啊,我当时只是做了一道这么弱智的题目呀,哈哈.前缀和确实不算太难.. 传送门 题目大意: 给你一个字符串只含G和 ...

  7. Luogu 2762 太空飞行计划 / Libre 6001 「网络流 24 题」太空飞行计划 (网络流,最大流)

    Luogu 2762 太空飞行计划 / Libre 6001 「网络流 24 题」太空飞行计划 (网络流,最大流) Description W 教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行 ...

  8. vijosP1195“非常男女”计划

    vijosP1195“非常男女”计划 链接:https://vijos.org/p/1195 [思路] 人数差. 人数差相等的两点之间的区间一定有男女人数相等. 计目前为止到i的1为sum1,0为su ...

  9. Luogu 4294 [WC2008]游览计划 | 斯坦纳树

    题目链接 Luogu 4294 (我做这道题的时候BZOJ全站的SPJ都炸了 提交秒WA 幸好有洛谷) 题解 这道题是[斯坦纳树]的经典例题.斯坦纳树是这样一类问题:带边权无向图上有几个(一般约10个 ...

随机推荐

  1. centos/Fedora/RHEL 安全设置

    centos/Fedora/RHEL •     整改方法: •     验证检查:  1.查看/etc/login.defs,访谈询问当前所设置的密码长度及更换周期:  2.查看/etc/pam.d ...

  2. SPSS 习题-2

    1.有关SPSS数据字典的说法,正确的是:  AA. SPSS 数据集的数据字典可以复制到其他数据集中B. SPSS数据集的数据字典是不能复制的C. SPSS的数据字典可以通过“复制”和“粘贴”在不同 ...

  3. didSelectRowAtIndexPath方法无响应解决办法

    tableview的代理事件didSelectRowAtIndexPath失效,可能有三个原因: 1.没有设置tableview的Delegate  需要设置tableview的代理才可以响应代理事件 ...

  4. 找出整数数组中出现次数超过数组长度一半的元素(Java)

    Question:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字 package com.study.zhipengs.test; import java.util.Arrays; im ...

  5. 热力图heatmap使用

    参考:https://www.cnblogs.com/julinhuitianxia/p/7755246.html 1.首先到echarts官网下载应用实例:http://echarts.baidu. ...

  6. redis服务操作

    端口启动服务./redis/redis-2.8.19/src/redis-server /redis/conf/r6100.conf./redis/redis-2.8.19/src/redis-ser ...

  7. LeetCode 110. 平衡二叉树(Balanced Binary Tree) 15

    110. 平衡二叉树 110. Balanced Binary Tree 题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树 ...

  8. Object 方法的 hashCode,equals方法源码

    文章目录 hashCode方法注释 equals 方法注释 equals 方法 hashCode方法注释 Object 的 hashCode 方法,是本地方法: Returns a hash code ...

  9. Aop 打印参数日志时,出现参数序列化异常。It is illegal to call this method if the current request is not in asynchron

    错误信息: nested exception is java.lang.IllegalStateException: It is illegal to call this method if the ...

  10. GoLand中同一个目录下的package无法调用

    代码结构: 三个代码的package 都是 pipefilter,执行split_filter_test.go 就会提示   undefined:xxxxxxx Golang实际都可以自己补全另一个文 ...