具有二叉索引树的字符串查询
String query with binary indexed tree
我想使用 Fenwick 树对字符串进行范围查询。但是我的代码出了点问题。 串联出错 Eror 是:[错误] 与"运算符+="不匹配(操作数类型是"std::vector>"和"std::string {aka std::basic_string}"( 给定一个字符串 s,我想将字符串存储在这棵芬威克树中。 例如 s=abcdef,在 BIT 上它应该像(从上到下(一个 ab-c abcd-e abcd-ef 树结构
vector<string> BIT[100005];
int n;
void BI(int x,string c)
{
for(;x<=n;x+=x&-x)
{
BIT[x]+=c;
}
}
int main()
{
cin>>n;
string s;
for(int i=1;i<=n;i++)
{ cin>>s;
BI(i,s);
}
}
vector<string> BIT[100005];
而这个
BIT[x]+=c;
不要一起去。你有一个字符串向量数组(基本上是二维矩阵(。并且您正在尝试将字符串c
添加到BIT[x]
的向量中。您的编译错误应该告诉您这一点。
您可能不是要制作字符串向量数组。要创建大小为 100005 的字符串向量,请执行以下操作:
vector<string> BIT(100005);
即括号,而不是方括号。
相关文章:
- 使用 C++ 查询 MongoDB 的日期字符串
- 具有二叉索引树的字符串查询
- 检查从查询返回的任何行是否包含在字符串中的最高性能方法?
- 快速JSON如何使用字符串变量查询对象
- C++字符串流连接查询
- 用于检查字符串是否等效的查询
- 如何用C++解析url查询字符串
- 关于在C++中将数据从字符串转换为浮点值的查询
- 宽字符串 SQLite 查询 C++
- std::字符串在迭代 mySQL 连接器查询结果时崩溃
- LIKE 运算符的查询字符串生成器
- C++查询字符串的所有值连接成一个字符串
- 使用 SQL Server 和 Oracle 中的字符串使用相同的未修改查询进行连接
- 具有前缀和后缀查询的字符串集合的数据结构
- MySQL C++连接器使用SELECT查询获取字符串
- 如何使用tinyxml2查询字符串属性
- Cassandra cppdriver查询字符串缓冲区溢出
- Mysql查询字符串在查询c++中不工作
- 如何在SQL查询中插入字符串
- ISO货币字符串查询窗口