上海定制网站建设公司哪家好,建立公司官网,wordpress回收站在哪,番禺招聘网官网https://codeforces.com/contest/1863/problem/F
因为有等于#xff0c;所以考虑异或和为0的合法区间#xff0c;它可以随意切现在考虑切开后左边大于右边#xff0c;可以发现左右边最高位可以互相抵消#xff0c;似乎不太可做#xff1f;此时可以换个考虑#xff0c;考…https://codeforces.com/contest/1863/problem/F
因为有等于所以考虑异或和为0的合法区间它可以随意切现在考虑切开后左边大于右边可以发现左右边最高位可以互相抵消似乎不太可做此时可以换个考虑考虑大区间的异或和的最高位这一位在左右两个区间恰好有一位为1而为1的那个区间就是转移到的区间然后考虑下图对于 [ i : j ] [i:j] [i:j]可以转移到的要么以 i i i 开头要么以 j j j 结尾。所以其实只需要判断 i i i 开头和 j j j 结尾的更大区间是否存在一个合法区间满足最高位恰好存在于当前这个区间里面。代码就是if((l[i]|r[j])nx)