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. Data - 深入浅出学统计 - 下篇

    本文是已读书籍的内容摘要,少部分有轻微改动,但不影响原文表达. :以漫画形式来讲解最基本的统计概念和方法. ISBN: 9787121299636 https://book.douban.com/su ...

  2. mysql 中不等于过滤 null 的问题(同时比较等于,大于和小于)

    在写 SQL 条件语句是经常用到 不等于'!='的筛选条件,此时要注意此条件会将字段为 null 的数据也当做满足不等于的条件而将数据筛选掉. 1.原始数据和表结构 CREATE TABLE `tes ...

  3. LeetCode 141. 环形链表(Linked List Cycle) 19

    141. 环形链表 141. Linked List Cycle 题目描述 给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 ...

  4. HDOJ-1100 Trees made to order

    一.题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1100 二.题目分析 对二叉树的所有形态顺序编号,编号规则是:节点数越多的编号越大:节点数相等,左子 ...

  5. Bean配置

    1.xml配置(摘抄自:https://www.cnblogs.com/zyx1301691180/p/7665971.html) 一.setter方法配置Bean: 1.创建一个 Spring Be ...

  6. Zuul【入门】

    1.创建eureka-server注册中心工程,配置跟之前讲eureka文章中一样,这里不再赘述 1.1.端口8888 2.创建一个demo-client工程 2.1.demo-client启动类跟之 ...

  7. str.format() 格式化数字的多种方法

    Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % . format 函数可以接受不限个参数 ...

  8. Hadoop 求单词count数

    package com.yw.hadoop273; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongW ...

  9. Android--单选对话框

    import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterfa ...

  10. Android GridView去除自带边框点击效果、去除右侧滚动条、禁止上下滑动

    一.去除自带边框点击效果: <com.example.gridview.MyGridView android:id="@+id/grid_upload_pictures" a ...