[ABC150F] Xor Shift
阅读原文时间:2023年08月22日阅读:1

2023-03-10

题目传送门

翻译

难度&重要性(1~10):6

题目来源

AtCoder

KMP,Z函数

首先是按位确定,令 \(t(i,j)\) 表示 AA 序列向右移动 \(j\) 位后异或某一个数能否等于 \(B\) 序列,则如果所有 \(t(i,q)\ \ (i\in [1,30])\) 都是 \(1\),移动 \(q\) 位才是一个可行的答案。

原问题就成了一个全是 \(0,1\) 的问题。

异或一下就相当于是全体取反,所以设 \(cntA,cntB\) 分别是 \(A,B\) 中 \(1\) 的个数,如果 \(cntA=cntB\),那么可以不异或任何数,如果恰好 \(cntA+cntB=n\),那么可以 \(A\) 序列全部取反再与 \(B\)B 匹配。

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章