CF1978E.Computing Machine

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定长度为 nn 的二进制字符串 s,ts,t,串内只包含 00 和 11,现有 qq 次询问,每次给出一个区间 [l,r][l,r],分别记 s,ts,t 在 [l,r][l,r] 上的子串为 a,ba,b,进行任意次如下两种操作:

  • 若 ∃i,i+2∈[l,r]\exist i,i+2\in[l,r] 使得 ai=ai+2=0a_i=a_{i+2}=0,则可以使 bi+1b_{i+1} 的值变为 11。
  • 若 ∃i,i+2∈[l,r]\exist i,i+2\in[l,r] 使得 bi=bi+2=1b_i=b_{i+2}=1,则可以使 ai+1a_{i+1} 的值变为 11。

现求所有操作结束后,串 aa 内最多可以包含多少 11。

输入格式

一个测试点包含多组测试数据,第一行给出 t(1≤t≤104)t(1\leq t \leq 10^4),表示测试数据组数。
对于每组数据:
第一行给出一个整数 n(1≤n≤2×105)n(1\leq n \leq 2\times 10^5)。
第二、三行给出两个二进制字符串 s,ts,t。
第四行给出一个整数 qq 表示询问个数。
接下来 qq 行,每行两个整数 l,rl,r,表示询问区间为 [l,r][l,r]。

保证 ∑n\sum n 和 ∑q\sum q 均不超过 2×1052 \times 10 ^ 5。

输出格式

qq 行,每行一个整数,表示对应询问的答案。

输入输出样例

  • 输入#1

    3
    4
    1111
    0000
    2
    1 2
    2 4
    4
    1010
    1101
    2
    1 3
    1 4
    6
    010101
    011010
    5
    2 3
    1 6
    2 5
    4 4
    3 6

    输出#1

    2
    3
    2
    3
    1
    4
    3
    1
    2

输入解题思路,AI测评打分。不知道怎么写?

首页