如果这道题目会可持久化trie的话,是可以用“超级钢琴”这一道题目的思路去做的
如果不行的话,考虑用trie,然后这篇题解关于trie的常用trick的综合可以记住
讲一下怎么查找第\(k\)大,不要用二分了,直接把\(sum_r\)放在trie树上查找。trie树每个点记录一下这个点的子树有多少个位置(这个维护方法跟Collapsing Strings的维护方法一样)。对于当前位,如果已经得到位置数加上反方向的位置数的和小于\(k\),那么将已经得到位置数加上反方向的位置数,然后向同方向走(因为向反方向走是达不到第\(k\)大的),否则的话将答案的这一位变成\(1\),然后向反方向走
也就是说查询第\(k\)大根本不用二分,其实上一道题目也没用二分查询第\(k\)大(或者说上一道题目的第\(k\)大与这里的第\(k\)大不同)
标签:二分,题目,trie,位置,异或,2019,联考 From: https://www.cnblogs.com/dingxingdi/p/18350652