AT_arc171_d [ARC171D] Rolling Hash
将区间 hash 转化为后缀 hash 和,发现本质要求若干对位置的 hash 值不等,注意到我们是可以在此基础上在每个位置任意填数,总能找到一对逆回去的方式。
那么根据鸽巢原理,若 \(mod > n\),必定能将每个位置上都填上一个不同的数。
否则,问题等价于能否染不超过 \(mod\) 种颜色,使得若干对点的颜色不同,显然该问题没有多项式复杂度做法,看数据范围可知这一点,问题再次等价于能否将全集 \(U\) 分成不超过 \(mod\) 个独立集,使用状压 DP 即可做到 \(O(3^n)\),若你使用 FWT 优化即可做到 \(O(n^2 2^n)\)。

浙公网安备 33010602011771号