#P15075. [2026省选联测老杰克哒

    ID: 14291 传统题 1000ms 1024MiB 尝试: 1 已通过: 1 难度: 7 上传者: 标签>CF2200线段树动态规划矩阵数据结构

[2026省选联测老杰克哒

题目描述

你有一个长度为 nn0101ss(下标从 11 开始),现在有 qq 个询问,每次取出一个子串,并将该子串从左到右读,左边是高位,所组成的二进制数计为 PP。你需要进行若干次操作,每次操作可以将 PP 加上或减去 2k2^kkk 可以由你任意选定,但是必须保证 PP 在任意时刻大于等于 00,希望你能求出最小的操作步数使 PP 变为 00。另外,题目可能会修改 0101 串的任意一位。

输入格式

第一行一个数 nn

第二行一个长度为 nn 的字符串 ss

第三行一个数 qq 表示询问与修改次数之和。

以下 qq 行,每行格式如下:

第一个数 1type21 \leq type \leq 2 表示类型。

type=1type = 1 表示是一次询问接下来两个数 l,rl , r 表示询问的区间。

type=2type = 2 表示一次修改接下来两个数 xyx,y 表示把 sxs_x 改为 yy

输出格式

对于每个询问输出一个数表示最少次数。

样例

样例输入

4
1101
1
1 1 4

样例输出

3

数据范围与提示

对于 20%20\% 的数据,n,q10n, q \leq 10

对于 50%50\% 的数据, n,q5000n, q \leq 5000

对于另外 20%20\% 的数据, 没有 22 操作。

对于 100%100\% 的数据,n,q300000n, q \leq 300000