luogu P2697 宝石串

题目描述有一种宝石串,由绿宝石和红宝石串成,仅当绿宝石和红宝石数目相同的时候,宝石串才最为稳定,不易断裂。安安想知道从给定的宝石串中,可以截取一段最长的稳定的宝石串,有多少颗宝石组成。请你帮助他。绿宝石用‘G’表示,红宝石用‘R’表示。输入输出格式输入格式: 一行由G和R组成的字符串输出格式: 最长的稳定的宝石串有多少颗宝石组成输入输出样例输入样例#1:GRGGRG输出样例#1:4说明RGGR为
摘要由CSDN通过智能技术生成

题目描述

有一种宝石串,由绿宝石和红宝石串成,仅当绿宝石和红宝石数目相同的时候,宝石串才最为稳定,不易断裂。安安想知道从给定的宝石串中,可以截取一段最长的稳定的宝石串,有多少颗宝石组成。请你帮助他。

绿宝石用‘G’表示,红宝石用‘R’表示。

输入输出格式

输入格式:
一行由G和R组成的字符串

输出格式:
最长的稳定的宝石串有多少颗宝石组成

输入输出样例

输入样例#1:

GRGGRG

输出样例#1:

4

说明

RGGR为答案。

宝石数<=1000000


这道题看数据范围不是O(n)就是O(nlogn),所以我们可以从数据范围入手,显然我们一般会从O(nlogn)这个复杂度分析;

O(nlogn)(WA):

显然我们可以从二分入手,这样子复杂度是O(nlogn)的,那我们会枚举答案长度,然后进行二分,然后就会处理细节,比如为了好处理,我们会让’G’记为1,’R’记为0,这样我们处理可以用^来快速处理颜色,但是打完会发现WA,那我们就要反思一下,为什么这个算法会WA;

因为这

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值