手撕可以直接从高位开始枚举然后加二分吧,二分可以离散化之后在BIT上做二分