小红拿到了一个长度为 nnn 的 01 串, 小红想知道,有多少子串满足,其所表示的二进制数,其对应的十进制数值在 lll 和 rrr 之间?这个问题的答案, 注:每次操作之后,字符串就会发生改变
小红拿到了一个长度为 nnn 的 01 串(仅由字符 '0' 和 '1' 组成的字符串)。 小红想知道,有多少子串满足,其所表示的二进制数,其对应的十进制数值在 lll 和 rrr 之间(只统计不含前导零的子串)? 注 1 :两个子串哪怕长的一模一样,但只要取的位置不同,则定义为 2 个不同子串 注 2 :所谓子串(substring),指字符串删掉部分前缀和后缀(也可以不删)形成的字符串。 这个问题小红觉得可能太简单了,于是她决定强化该问题: 她可能会添加一些修改操作:每次选择一个位置进行翻转,即将 0 变成 1 或者 1 变成 0 。 她希望每次修改操作之后,你可以回答“有多少子串满足,其所表示的二进制数,其对应的十进制数值在 lll 和 rrr 之间?”这个问题的答案。 注:每次操作之后,字符串就会发生改变(即影响以后的询问)
标签: HBC224109边的染色 贪心 树 数据结构零一奇迹题解