以字典形式多次比较两个数字。
我尝试了什么
问题很简单,比较变更后的字符串,但由于多次查询,我的时间限制超出了错误。
我正在搜索互联网并遇到了段树来解决范围查询。但唉,我无法想象,它在这里可以提供什么帮助。
任何提示都表示赞赏。
答案 0 :(得分:2)
对于这个问题,细分树似乎有些过分。何时B的字典大于A?当在索引i处,A [i] = 0,B [i] = 1并且A [0:i] = B [0:i]。同时迭代两个字符串并保持一组所有不同的索引。
对于索引i处的每个查询,将B更新为1.然后检查B [i] = A [i]。如果它们相等,则从索引集中擦除i。否则,将其添加到集合中。如果集合中没有留下索引,则A和B现在等于=>回答是的。
如果至少有1个元素,请获取最低索引。如果该索引是j,则意味着A [0:j] = B [0:j]但是A [j]!= B [j]。所以要么A是0而B是1或A是1而B是0.根据它,回答是或否。
这具有O(Q log N)
的复杂性,Q是查询量