题目描述:
给定一个长度为 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 1≤n,q≤2×105,1

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

被折叠的 条评论
为什么被折叠?



