CF1835C Twin Clusters 题解
有点神奇。
只要有异或和相等的两个区间即可。
类似生日悖论,期望找到异或和相等的区间为根号值域次,数据小时暴力。
再想想正解。
共有 个区间,但是值域只有 ,所以必然有解。
我们对值域分成前 位和后 位考虑,找到 的对,考虑 的前 位相同, 的前 位相同,然后让他们的后 位相同,这样就满足条件了。
就是找到前 位相同的几堆,每堆可构成堆数减一对,然后考虑它们的后 位异或和是否为 。
想想为什么能找到,类似的,前 位共有 个前缀异或和,但值域只有 ,所有至少产生 个相同的数,只能找到 对前 位相同的数即可,因为后 位值域只有 ,所以一定有重复的。
时间复杂度 。
本文来自博客园,作者:蒟蒻orz,转载请注明原文链接:https://www.cnblogs.com/orzz/p/18121923