具有二进制索引树的字符串查询

时间:2017-07-10 14:21:25

标签: c++ segment-tree fenwick-tree binary-indexed-tree

我想使用Fenwick树查询字符串。但是我的代码出了问题。 连接是错误的 Eror是:[错误]不匹配'运营商+ =' (操作数类型是' std :: vector>'和' std :: string {aka std :: basic_string}')   给定一个字符串s,我想将字符串存储在这个fenwick树中。 例如s = abcdef,在BIT上它应该(上下)一个ab-c abcd-e abcd-ef Tree Structure

Startdate:2017-07-09 13:55:41
Enddate:2017-07-10 17:31:56

1 个答案:

答案 0 :(得分:1)

vector<string> BIT[100005];

和这个

BIT[x]+=c;
不要一起去。你有一组字符串向量(基本上是2维矩阵)。您正尝试将字符c添加到BIT[x]的向量中。你的编译错误应该告诉你这个。

你可能并不是要创建一个字符串向量数组。要制作大小为100005的字符串向量,请执行以下操作:

vector<string> BIT(100005);

括号,而不是方括号。