洛谷 P6492 [COCI2010-2011#6] STEP

这篇博客详细介绍了如何解决洛谷P6492题,题目涉及字符序列的修改,并要求找出每次修改后满足特定条件的最长连续子串长度。作者利用线段树的数据结构,维护了五个关键值,包括左边界、右边界以及不同状态的最长连续子串,通过递归更新和异或运算求解答案。博客内容包括问题描述、输入输出格式、数据规模、样例及思路解析,最后给出了实现代码。
摘要由CSDN通过智能技术生成

题目描述:

给定一个长度为 n n n 的字符序列 a a a ,初始时序列中全部都是字符 L L L

q q q 次修改,每次给定一个 x x x ,若 a x a_x ax L L L ,则将 a x a_x ax 修改成 R R R,否则将 a x a_x ax 修改成 L L L

对于一个只含字符 L L L R R R 的字符串 S S S,若其中不存在连续的 L L L R R R ,则称 S S S 满足要求。

每次修改后,请输出当前序列 a a a 中最长的满足要求的连续子串的长度。

输入格式:

第一行有两个整数,分别表示序列的长度 n n n 和修改操作的次数 q q q

接下来 q q q 行,每行一个整数,表示本次修改的位置 x x x

输出格式:

对于每次修改操作,输出一行一个整数表示修改 a a a 中最长的满足要求的子串的长度。

数据规模:

对于全部的测试点,保证 1 ≤ n , q ≤ 2 × 1 0 5 , 1 ≤ x ≤ n 1\leq n,q\leq 2 \times 10^5 , 1\leq x\leq n 1n,q2×105,1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值